:root{--blue: #1769e0;--blue2: #1254b8;--soft: #eaf2ff;--canvas: #f5f7fa;--surface: #fff;--ink: #1f2937;--muted: #667085;--line: #e6eaf0;--green: #16835a;--amber: #b54708;--red: #d92d20;--navy: #10233f;--shadow: 0 2px 8px rgba(16, 24, 40, .08);--r: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none}h1,h2,h3{margin:0}a{color:var(--blue)}.app{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--navy);color:#d9e5f7;padding:18px 12px;display:flex;flex-direction:column;gap:14px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 10px;color:#fff}.brand-mark{width:40px;height:40px;flex-shrink:0;display:block}.brand-full{height:46px;width:auto;flex-shrink:0;display:block}.brand small{display:block;color:#9fb4d2;font-size:11px}.nav-label{font-size:11px;color:#8399b9;padding:8px 12px 4px;letter-spacing:.08em}.nav button,.subnav button{width:100%;height:40px;color:#c8d6e8;text-align:left;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:10px;margin:2px 0}.nav button:hover,.subnav button:hover,.nav button.active,.subnav button.active{background:#ffffff1c;color:#fff}.nav button.active{box-shadow:inset 3px 0 var(--blue)}.subnav{padding:0 0 0 12px}.subnav button{height:34px;font-size:13px;color:#9fb4d2}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:14px 10px 4px}.profile{display:flex;align-items:center;gap:9px;color:#eef5ff}.avatar{width:30px;height:30px;border-radius:50%;background:#d8e7ff;color:var(--blue);display:grid;place-items:center;font-weight:700}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;background:#ffffffeb;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.crumb{color:var(--muted);font-size:13px}.crumb b{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:10px}.search{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fbfcfe;min-width:220px;outline:none}.search:focus{border-color:#99bbf4;box-shadow:0 0 0 3px var(--soft)}.content{padding:24px 28px 56px;max-width:1440px;width:100%;margin:0 auto}.banner{background:#fff8eb;border:1px solid #f3e0b8;color:#8a5a12;border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:16px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.eyebrow{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.08em}.page-head h1{font-size:24px;letter-spacing:-.02em;margin:4px 0}.page-head p{margin:0;color:var(--muted)}.btn{height:36px;border-radius:10px;padding:0 14px;font-weight:650;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}a.btn{text-decoration:none;color:inherit}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.ghost{color:var(--blue)}.btn.danger{background:#fff0ee;color:var(--red)}.btn.sm{height:30px;padding:0 10px;font-size:12px}.workspace-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.workspace-tool-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.workspace-search-box{width:235px;height:36px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted)}.workspace-search-box:focus-within{border-color:#99bbf4}.workspace-search-box input{min-width:0;width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;font-size:12px;color:var(--ink)}.workspace-search-box button{display:grid;place-items:center;padding:2px;color:var(--muted)}.workspace-view-switch{height:36px;display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:6px;background:#f5f7fa}.workspace-view-switch button{min-height:28px;padding:0 9px;border-radius:4px;font-size:12px;color:var(--muted)}.workspace-view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #1018281a}.workspace-tool-actions select.chip{height:36px;max-width:155px;font-size:12px;border-radius:6px}.workspace-columns-toggle{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted)}.workspace-columns-toggle.active{border-color:#99bbf4;color:var(--blue)}.workspace-columns-panel{padding:12px;margin-bottom:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.workspace-columns-panel>span{font-size:12px;font-weight:650}.workspace-columns-panel small{margin-left:8px;font-weight:400;color:var(--muted)}.workspace-columns-grid{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.workspace-result-line{display:flex;align-items:center;gap:12px;min-height:32px;margin-bottom:8px;color:var(--muted);font-size:12px}.workspace-result-line button{color:var(--blue);font-size:12px}.workbench-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.workbench-list-head h2{font-size:16px}.workbench-list-head>span{color:var(--muted);font-size:12px}.workbench-scopes{display:flex;align-items:center;gap:18px;overflow-x:auto;border-bottom:1px solid var(--line)}.workbench-scopes button{flex:none;padding:9px 2px;border-bottom:2px solid transparent;color:var(--muted);font-size:12px}.workbench-scopes button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:650}.workbench-project{width:100%;text-align:left;background:transparent}.workbench-project:hover{background:#f8fafc}.workbench-project-meta{flex:none;display:flex;align-items:center;gap:8px}.workbench-project-meta small{color:var(--muted);font-size:11px}.workbench-empty{padding:32px 12px;text-align:center;color:var(--muted);font-size:12px}@media(max-width:800px){.workspace-tools{align-items:stretch;flex-direction:column}.workspace-scope-tabs{max-width:100%;overflow-x:auto}.workspace-tool-actions{width:100%}.workspace-search-box{flex:1 1 100%;width:100%}.workbench-project-meta{align-items:flex-end;flex-direction:column}}.project-title-actions{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}.project-title-actions h2{flex:1 1 auto;min-width:0;margin-top:0;overflow-wrap:anywhere;word-break:break-word}.project-title-actions>.btn{flex:none}.btn:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.kpi{padding:16px 18px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:26px;font-weight:750;margin-top:4px;letter-spacing:-.03em}.kpi .trend{font-size:12px;color:var(--muted);margin-top:6px}.section{padding:18px 20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.section-head h2{font-size:16px}.layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px}.finance-report{display:grid;gap:28px}.finance-currency{display:grid;gap:14px}.finance-currency+.finance-currency{padding-top:24px;border-top:1px solid var(--line)}.finance-currency-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.finance-currency-head>div{display:flex;align-items:center;gap:9px}.finance-currency-head h2{font-size:17px}.finance-currency-head small{color:var(--muted)}.finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finance-kpi{min-height:112px;padding:16px}.finance-kpi>span{color:var(--muted);font-size:12px}.finance-kpi strong{display:block;margin:7px 0 5px;overflow:hidden;text-overflow:ellipsis;font-size:20px;line-height:1.25;letter-spacing:-.025em;white-space:nowrap}.finance-kpi small{color:var(--muted);font-size:11px}.finance-kpi.overdue{border-color:#f4d5d1;background:linear-gradient(135deg,#fff 55%,#fff5f3)}.finance-kpi.overdue strong{color:var(--red)}.finance-progress{height:7px;margin-top:12px;overflow:hidden;border-radius:99px;background:#e9eef5}.finance-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1769e0,#50a4ff)}.finance-chart-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:14px}.finance-panel{min-width:0;padding:18px}.finance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.finance-panel-head h3{font-size:15px}.finance-panel-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.finance-legend{display:flex;gap:12px;color:var(--muted);font-size:11px}.finance-legend span{display:inline-flex;align-items:center;gap:5px}.finance-legend i{width:8px;height:8px;border-radius:2px}.finance-legend .sales,.finance-bar.sales,.finance-type-track .sales{background:#1769e0}.finance-legend .received,.finance-bar.received,.finance-type-track .received{background:#69c6ad}.finance-month-chart{height:230px;padding:14px 10px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-around;gap:12px;background:repeating-linear-gradient(to top,transparent 0,transparent 53px,#edf0f5 54px)}.finance-month{height:100%;flex:1;min-width:48px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.finance-bars{width:100%;height:calc(100% - 31px);display:flex;align-items:flex-end;justify-content:center;gap:5px}.finance-bar{width:min(22px,34%);min-height:0;border-radius:5px 5px 0 0;transition:opacity .15s}.finance-bar:hover{opacity:.78}.finance-month>span{height:31px;padding-top:8px;color:var(--muted);font-size:10px;white-space:nowrap}.finance-type-chart{display:grid;gap:18px}.finance-type-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:12px}.finance-type-row span{color:var(--muted);font-size:11px}.finance-type-track{position:relative;height:12px;overflow:hidden;border-radius:99px;background:#eef2f6}.finance-type-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit}.finance-type-track i.received{height:4px;top:4px;z-index:1}.finance-chart-empty,.finance-empty{padding:42px 20px;color:var(--muted);text-align:center}.finance-receivable-panel{padding-bottom:8px}.finance-table{min-width:900px}.finance-table tr{cursor:default}.finance-table td:nth-child(n+4){font-variant-numeric:tabular-nums}.finance-outstanding{color:var(--amber);font-weight:700}.tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:650;white-space:nowrap}.tag.blue{background:var(--soft);color:var(--blue)}.tag.green{background:#eaf7f0;color:var(--green)}.tag.amber{background:#fff3e6;color:var(--amber)}.tag.gray{background:#f1f3f6;color:#667085}.tag.red{background:#fff0ee;color:var(--red)}.tag.priority-低{background:#f1f3f6;color:#667085}.tag.priority-普通{background:#eaf2ff;color:#1769e0}.tag.priority-高{background:#fff3e6;color:#a45b08}.tag.priority-紧急{background:#fff0ee;color:var(--red)}.customer-agent-tabs{margin-bottom:14px}.agent-overview{display:grid;gap:14px}.agent-overview-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.agent-kpi{min-height:108px;padding:16px}.agent-kpi>span,.agent-kpi small{display:block;color:var(--muted);font-size:11px}.agent-kpi strong{display:block;margin:8px 0 5px;overflow:hidden;text-overflow:ellipsis;font-size:21px;line-height:1.2;white-space:nowrap}.agent-kpi.wide strong{font-size:17px}.agent-overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.agent-chart-panel,.agent-project-panel,.agent-customer-panel,.agent-profile-card{padding:18px}.agent-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.agent-panel-head h2,.agent-panel-head h3{font-size:16px}.agent-panel-head p{margin-top:4px;color:var(--muted);font-size:11px}.agent-ranking{display:grid;gap:8px}.agent-ranking>button{display:grid;grid-template-columns:24px minmax(130px,.85fr) minmax(100px,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:9px;background:#fafbfc;text-align:left}.agent-ranking>button:hover{border-color:#cddcf2;background:#f7faff}.agent-rank{color:var(--blue);font-weight:800}.agent-rank-name b,.agent-rank-name small{display:block}.agent-rank-name small{margin-top:3px;color:var(--muted);font-size:10px}.agent-rank-bar{height:8px;overflow:hidden;border-radius:99px;background:#e8edf4}.agent-rank-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1769e0,#74b4ff)}.agent-ranking strong{font-size:11px;font-variant-numeric:tabular-nums}.agent-status-list{display:grid;gap:16px}.agent-status-list>div{display:grid;grid-template-columns:100px 30px 1fr;align-items:center;gap:10px;font-size:12px}.agent-status-list>div>span{display:flex;align-items:center;gap:6px}.agent-status-list>div>b{text-align:right}.agent-status-list>div>div{height:9px;overflow:hidden;border-radius:99px;background:#eef2f6}.agent-status-list>div>div i{display:block;height:100%;border-radius:inherit;background:#4f9af2}.status-dot{width:8px;height:8px;flex:none;display:inline-block;border-radius:50%;background:#98a2b3}.status-dot.green{background:#34a672}.status-dot.blue{background:#4f9af2}.status-dot.amber{background:#e99a26}.status-dot.gray{background:#98a2b3}.agent-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}.agent-list-panel{padding:12px;overflow:hidden}.agent-search{width:100%;margin-bottom:10px}.agent-list-scroll{display:grid;gap:5px;max-height:720px;overflow:auto}.agent-list-scroll>button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid transparent;border-radius:9px;background:#fff;text-align:left}.agent-list-scroll>button:hover,.agent-list-scroll>button.active{border-color:#bdd3f3;background:#f5f9ff}.agent-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:var(--blue);font-size:13px;font-weight:800}.agent-avatar.large{width:46px;height:46px;font-size:18px}.agent-list-scroll b,.agent-list-scroll small,.agent-list-scroll em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-list-scroll small{margin-top:3px;color:var(--muted);font-size:10px}.agent-list-scroll em{margin-top:3px;color:var(--blue);font-size:10px;font-style:normal}.agent-detail{display:grid;gap:14px;min-width:0}.agent-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.agent-profile-title{display:flex;align-items:center;gap:11px}.agent-profile-title h2{font-size:20px}.agent-profile-title p{margin-top:4px;color:var(--muted);font-size:11px}.agent-summary-grid,.agent-money-grid{display:grid;gap:9px;margin-top:18px}.agent-summary-grid{grid-template-columns:repeat(4,1fr)}.agent-money-grid{grid-template-columns:repeat(3,1fr);padding-top:15px;border-top:1px solid var(--line)}.agent-summary-grid div,.agent-money-grid div{padding:10px;border-radius:9px;background:#f8fafc}.agent-summary-grid span,.agent-money-grid span{display:block;color:var(--muted);font-size:10px}.agent-summary-grid b,.agent-money-grid b{display:block;margin-top:5px;font-size:15px}.agent-money-grid b{color:var(--blue);font-size:13px}.agent-project-filters{display:flex;gap:7px}.agent-project-filters .chip{min-width:100px}.agent-project-table{min-width:850px}.agent-project-table tr{cursor:pointer}.agent-project-table td:first-child b,.agent-project-table td:first-child small{display:block}.agent-project-table td:first-child small{margin-top:4px;color:var(--muted);font-size:10px}.agent-outstanding{color:var(--amber);font-weight:700}.agent-customer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.agent-customer-grid>button{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left}.agent-customer-grid>button:hover{border-color:#9dbbe7;background:#f7faff}.agent-customer-grid b,.agent-customer-grid span,.agent-customer-grid small{display:block}.agent-customer-grid span,.agent-customer-grid small{margin-top:4px;color:var(--muted);font-size:10px}.customer-workspace{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:14px;align-items:start}.customer-list-panel{display:grid;gap:3px;padding:12px}.customer-list-panel>button{padding:12px;border:1px solid transparent;border-radius:9px;background:#fff;text-align:left}.customer-list-panel>button:hover,.customer-list-panel>button.active{border-color:#bdd3f3;background:#f5f9ff}.customer-list-panel b,.customer-list-panel span{display:block}.customer-list-panel span{margin-top:4px;color:var(--muted);font-size:11px}.customer-detail-panel{padding:18px}.customer-project-list{display:grid;gap:5px;margin-top:18px}.customer-project-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.customer-project-list>button:hover{border-color:#9dbbe7;background:#f7faff}.customer-project-list b,.customer-project-list small{display:block}.customer-project-list small{margin-top:3px;color:var(--muted);font-size:10px}.customer-project-list strong{font-size:11px;font-variant-numeric:tabular-nums}.table-wrap{min-width:0;overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{min-width:0;text-align:left;padding:11px 10px;border-bottom:1px solid #edf0f4;font-size:13px}.table th{overflow-wrap:anywhere;font-size:11px;color:var(--muted);font-weight:600;background:#fafbfc;position:sticky;top:0}.table-sort{display:inline-flex;align-items:center;gap:4px;padding:0;color:inherit;font:inherit}.table-sort span{min-width:0;overflow-wrap:anywhere}.table-sort:hover,.table-sort.active{color:var(--blue)}.table tr{cursor:pointer}.table tr:hover td{background:#fbfcff}.table .num{font-variant-numeric:tabular-nums}.domain-project-table{table-layout:fixed}.domain-project-table th,.domain-project-table td{vertical-align:top;overflow-wrap:anywhere}.domain-project-table .table-cell-content{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;white-space:normal;text-overflow:ellipsis}.merge-table-head-actions{display:flex;align-items:center;gap:8px}.merge-column-picker{position:relative}.merge-column-menu{position:absolute;z-index:8;top:calc(100% + 7px);right:0;width:285px;max-height:490px;overflow:auto;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px #192a4629}.merge-column-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.merge-column-menu>p{margin:8px 0 12px;line-height:1.5}.merge-column-search{box-sizing:border-box;width:100%;height:34px;margin:0 0 8px;padding:0 9px;border:1px solid var(--line);border-radius:6px;outline:none;font-size:12px}.merge-column-search:focus{border-color:#99bbf4;box-shadow:0 0 0 3px var(--soft)}.merge-column-search-empty{padding:18px 0;color:var(--muted);text-align:center;font-size:12px}.merge-column-group{display:grid;gap:7px;padding:10px 0;border-top:1px solid #edf0f4}.merge-column-group strong{font-size:11px;color:var(--muted)}.merge-column-group label{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.merge-table-toolbar{display:flex;align-items:center;gap:10px;margin:-6px 0 14px;flex-wrap:wrap}.merge-table-toolbar .merge-column-picker{margin-left:auto}.merge-searchbar{display:flex;align-items:center;flex:1 1 420px;min-width:0;max-width:620px;height:38px;padding:0 4px 0 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.merge-searchbar:focus-within{border-color:#99bbf4;box-shadow:0 0 0 3px var(--soft)}.merge-searchbar-icon{flex:none;color:var(--muted)}.merge-searchbar-label{flex:none;padding:0 8px 0 7px;color:var(--muted);font-size:12px}.merge-searchbar-field{flex:none;max-width:150px;height:28px;margin-right:8px;padding:0 2px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:650;outline:none;cursor:pointer}.merge-searchbar-input{flex:1;min-width:90px;height:28px;padding:0 6px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;outline:none}.merge-searchbar-input::placeholder{color:#a7aebb}.merge-searchbar-input:disabled{background:transparent;color:#98a2b3}.merge-searchbar-clear{flex:none;height:26px;margin-right:3px;padding:0 9px;border:0;border-radius:7px;background:#f2f4f7;color:#475467;font:inherit;font-size:11.5px;font-weight:650;cursor:pointer}.merge-searchbar-clear:hover{background:#e7ebf0}@media(max-width:600px){.merge-table-toolbar{align-items:stretch}.merge-searchbar{flex:1 1 100%;max-width:none}.merge-table-toolbar .merge-column-picker{margin-left:0}.merge-table-toolbar .merge-column-picker .btn{width:100%}}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.chip,select.chip,.field input,.field select,.field textarea,.modal input,.modal select,.modal textarea,.drawer input,.drawer select,.drawer textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;outline:none}.field{margin:10px 0}.field label{display:block;font-size:12px;font-weight:650;margin-bottom:6px}.field textarea,.modal textarea{min-height:72px;resize:vertical;width:100%}.field input,.field select,.modal input,.modal select{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.assignment-controls{display:flex;align-items:center;gap:7px;min-width:220px}.assignment-controls .chip{min-width:128px}.workspace-scope-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#eef2f6}.workspace-scope-tabs button{min-height:32px;padding:0 11px;border-radius:7px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650}.workspace-scope-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 1px 3px #1018281a}.workspace-scope-tabs button span{min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:inline-grid;place-items:center;background:#fff3e6;color:var(--amber);font-size:10px}.project-assignment{margin-top:12px;position:relative;z-index:4;border:1px solid var(--line);border-radius:8px;background:#fff}.project-assignment.expanded{border-color:#c7d6e8}.assignment-toggle{width:100%;min-height:62px;padding:11px 15px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.assignment-toggle:hover{background:#f8fafc}.assignment-heading,.assignment-toggle-side{display:flex;align-items:center;gap:10px;min-width:0}.assignment-heading>span:last-child{min-width:0}.assignment-heading strong{display:block;color:var(--ink);font-size:14px;line-height:20px}.assignment-heading small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;line-height:17px}.assignment-icon{width:34px;height:34px;flex:none;border-radius:7px;display:grid;place-items:center;color:#286397;background:#eef4f8}.assignment-status{flex:none;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:650}.assignment-status.ready{color:#237553;background:#eaf6ef}.assignment-status.pending{color:#9c641f;background:#fff4e5}.assignment-chevron{flex:none;color:#667085;transition:transform .18s ease}.project-assignment.expanded .assignment-chevron{transform:rotate(180deg)}.assignment-body{padding:17px 16px 14px;border-top:1px solid var(--line)}.assignment-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assignment-intro b{display:block;font-size:13px;color:var(--ink);line-height:20px}.assignment-intro span:not(.assignment-count){display:block;color:var(--muted);font-size:11px;line-height:18px}.assignment-count{flex:none;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:#475467;font-size:11px}.assignment-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:12px;margin-top:14px}.assignment-form .field{min-width:0;margin:0}.assignment-form .field>label{display:block;margin-bottom:7px;color:#344054;font-size:12px;font-weight:650}.assignment-form .field>label em{margin-left:3px;color:var(--muted);font-size:11px;font-weight:400;font-style:normal}.assignment-form select,.assignment-member-field .permission-member-dropdown>button{width:100%;height:42px;min-height:42px;border:1px solid #d0d9e4;border-radius:6px;background:#fff;font-size:12px}.assignment-form select{padding:0 12px}.assignment-member-field .permission-member-dropdown>span{display:none}.assignment-member-field .permission-member-dropdown>button{padding:0 12px}.assignment-member-field .permission-member-dropdown>button b{font-size:12px}.assignment-member-field .permission-member-dropdown>button small{display:none}.assignment-selected{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:32px;margin-top:14px}.assignment-selected-label{margin-right:3px;color:var(--muted);font-size:11px}.assignment-person{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 3px;border:1px solid #d7e2df;border-radius:5px;color:#344054;font-size:11px}.assignment-person>span{width:20px;height:20px;border-radius:4px;display:grid;place-items:center;background:#e8f1ed;color:#276b50;font-size:10px}.assignment-empty{color:#98a2b3;font-size:11px}.assignment-footer{margin-top:13px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-footer .btn{flex:none}.assignment-help{color:var(--muted);font-size:11px;line-height:17px}.project-assignment.compact{border-radius:12px}.project-assignment.compact.expanded{box-shadow:0 1px 3px #1018280f}.project-assignment.compact .assignment-toggle{min-height:58px;padding:10px 14px}.project-assignment.compact .assignment-icon{width:30px;height:30px;border-radius:9px;color:#1d5c92;background:linear-gradient(180deg,#eff5fb,#e3edf7)}.project-assignment.compact .assignment-body{padding:0;background:#f8fafc}.project-assignment.compact .assignment-title-group{display:flex;align-items:center;gap:10px;min-width:0}.project-assignment.compact .assignment-title-group>span:last-child{min-width:0}.project-assignment.compact .assignment-title-group strong{display:block;color:var(--ink);font-size:13.5px;line-height:20px}.project-assignment.compact .assignment-title-group small{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;line-height:16px}.assign-picker-head{padding:13px 14px 9px}.assign-picker-head b{display:block;color:var(--ink);font-size:12.5px;line-height:18px}.assign-picker-head span{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:17px}.assign-picker{display:flex;flex-direction:column;gap:6px;padding:0 14px 12px}.assign-option{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;text-align:left;border:1px solid #dfe6ee;border-radius:10px;background:#fff;font:inherit;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.assign-option:hover{border-color:#b9cde4}.assign-option.is-selected{border-color:#5b9bd5;background:#f1f7ff;box-shadow:inset 0 0 0 1px #5b9bd5}.assign-option-avatar{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;background:#e8f1ed;color:#276b50;font-size:11px;font-weight:700}.assign-option.is-selected .assign-option-avatar{background:#e2eefb;color:#1d5c92}.assign-option.is-none .assign-option-avatar{background:#f2f4f7;color:#7a8594}.assign-option-meta{flex:1;min-width:0}.assign-option-meta b{display:block;color:var(--ink);font-size:12.5px;line-height:18px}.assign-option-meta small{display:block;margin-top:1px;color:var(--muted);font-size:11px;line-height:16px}.assign-option-tag{flex:none;padding:2px 6px;border-radius:5px;background:#fff4e5;color:#9c641f;font-size:10px;font-weight:700}.assign-option-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;color:#1d5c92}.assign-picker-empty{margin:0 14px 12px;padding:12px;border:1px dashed #cfd8e3;border-radius:10px;background:#fff;color:var(--muted);font-size:11.5px;line-height:18px}.assign-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 12px;border-top:1px solid var(--line);background:#fff}.assign-foot-hint{color:var(--muted);font-size:11px;line-height:16px}@media(max-width:650px){.assign-foot{align-items:flex-start;flex-wrap:wrap}.assign-foot .btn{margin-left:auto}.assignment-form{grid-template-columns:1fr}.assignment-footer{align-items:flex-start;flex-wrap:wrap}.assignment-footer .btn{margin-left:auto}}.kanban{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:12px;overflow:auto;padding-bottom:8px}.col{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;min-height:280px;padding:10px}.col h3{font-size:13px;margin-bottom:8px;display:flex;justify-content:space-between}.kcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;cursor:grab;box-shadow:var(--shadow)}.kcard:active{cursor:grabbing}.kcard b{display:block;font-size:13px}.kcard span{color:var(--muted);font-size:12px}.task{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef1f5}.task:last-child{border-bottom:0}.task-main{flex:1;min-width:0}.task-main b{display:block;font-size:13px}.task-main span{font-size:12px;color:var(--muted)}.material-item{border-bottom:1px solid #eef1f5}.material-item:last-child{border-bottom:0}.material-item .task{border-bottom:0;padding-bottom:8px}.material-empty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;border:1px dashed #d7dfeb;border-radius:12px;background:#fafcff;color:var(--muted)}.material-upload-box{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed #b9c9df;border-radius:12px;background:#f8fbff;color:var(--blue);cursor:pointer;text-align:center}.material-upload-box:hover{border-color:var(--blue);background:#f2f7ff}.material-upload-box span{color:var(--muted);font-size:12px}.material-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.material-upload-selected{margin-top:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce6f3;border-radius:10px;background:#fff}.material-upload-selected div{min-width:0}.material-upload-selected b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.material-upload-selected span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.material-upload-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.field-error{margin-top:6px;color:#c43232;font-size:12px}.file-link{display:block;padding:0;border:0;background:none;color:var(--blue);font-weight:600;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:2px}.file-link:hover{color:var(--blue2)}.review-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px;background:#f8fbff;border:1px solid #d8e7ff;border-radius:10px;padding:10px}.review-note input{flex:1;min-width:160px;height:32px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);font-size:12px}.pdf-preview-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e348c;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.pdf-preview{width:min(820px,96vw);height:min(90vh,980px);background:#fff;border-radius:16px;box-shadow:0 18px 48px #10182838;display:flex;flex-direction:column;overflow:hidden}.pdf-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex:none}.pdf-preview iframe{flex:1;width:100%;border:0;background:#525659}.drawer-bg,.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e3461;z-index:20;display:flex}.drawer{margin-left:auto;width:min(520px,96vw);min-width:0;background:#fff;height:100%;overflow:auto;padding:22px;box-shadow:-12px 0 34px #0000001f}.drawer>.muted{min-width:0;overflow-wrap:anywhere;word-break:break-word}.modal{margin:auto;width:min(560px,94vw);background:#fff;border-radius:16px;padding:22px;box-shadow:0 12px 34px #1018281f;max-height:90vh;overflow:auto}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-heading h2{margin-bottom:5px}.modal-heading p{margin:0}.close{width:32px;height:32px;border-radius:8px;background:#f2f4f7;color:var(--muted);flex:none}.order-modal{width:min(900px,94vw);max-height:min(90vh,850px);padding:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e6ebf2}.order-modal .modal-heading{padding:22px 26px 18px;border-bottom:1px solid #e9edf3;background:#fff}.order-modal .modal-heading h2{font-size:22px}.order-form-body{overflow-y:auto;padding:18px 26px 22px;background:#f6f8fb}.order-form-section{padding:18px 20px 10px;margin-bottom:14px;border:1px solid #e5eaf1;border-radius:13px;background:#fff;box-shadow:0 1px 2px #10182808}.order-form-section:last-child{margin-bottom:0}.order-section-title{display:flex;align-items:center;gap:10px;margin-bottom:9px}.order-section-title>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:var(--blue);background:#eaf2ff;font-size:12px;font-weight:750}.order-section-title b{display:block;font-size:14px}.order-section-title small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.order-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.order-form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.order-form-grid .field{margin:8px 0}.order-form-grid .field label{color:#344054}.order-form-grid .field label em{margin-left:4px;color:#98a2b3;font-style:normal;font-weight:500}.order-form-grid input,.order-form-grid select,.order-form-grid textarea{min-height:40px;border-color:#d8e0eb;transition:border-color .15s,box-shadow .15s}.order-form-grid .project-fixed-checkbox{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.order-form-grid .project-fixed-checkbox input{width:16px;height:16px;margin:0}.order-form-grid .project-fixed-checkbox span{color:var(--ink);font-size:13px}.project-creatable-combobox,.project-creatable-input{position:relative}.project-creatable-input input{padding-right:38px}.project-creatable-input>button{position:absolute;top:1px;right:1px;width:36px;height:calc(100% - 2px);display:grid;place-items:center;border:0;border-left:1px solid var(--line);border-radius:0 7px 7px 0;background:#f8fafc;color:var(--muted);cursor:pointer}.project-creatable-input>button:hover{background:#eef4fc;color:var(--blue)}.project-creatable-combobox:focus-within .project-creatable-input>button svg{transform:rotate(180deg)}.project-creatable-options{position:absolute;z-index:50;top:calc(100% + 5px);left:0;width:100%;max-height:220px;overflow-y:auto;padding:5px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 28px #10182829}.project-creatable-options button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.project-creatable-options button:hover,.project-creatable-options button[aria-selected=true]{background:#f5f9ff}.project-creatable-options button svg{flex:none;color:var(--blue)}.project-creatable-options small{display:block;padding:9px 8px;color:var(--muted);font-size:11px}.order-form-grid input:focus,.order-form-grid select:focus,.order-form-grid textarea:focus{border-color:#78a9f5;box-shadow:0 0 0 3px #1f6feb1a}.order-form-grid .order-field-invalid input,.order-form-grid .order-field-invalid select{border-color:#e05a47;background:#fff9f8}.order-form-grid .order-field-invalid input:focus,.order-form-grid .order-field-invalid select:focus{border-color:#d64532;box-shadow:0 0 0 3px #d645321a}.order-field-error{display:block;margin-top:5px;color:#c43d2f;font-size:11px;font-weight:600}.order-form-grid textarea{min-height:76px}.order-field-wide{grid-column:1 / -1}.order-modal-footer{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 26px;border-top:1px solid #e5eaf1;background:#fff}.order-modal-footer>span{color:var(--muted);font-size:11px}.order-modal-footer>div{display:flex;gap:9px}.order-modal-footer .btn{min-width:82px;justify-content:center}.order-modal-footer .primary{min-width:108px}.block{padding:16px 0;border-top:1px solid var(--line)}.block h3{font-size:13px;margin-bottom:8px}.order-info-card{margin-top:16px}.order-info-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.order-info-head h3{margin-bottom:0}.order-info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.order-info-grid>span,.order-info-grid>label{min-width:0;overflow-wrap:anywhere}.order-info-grid span,.order-description{display:flex;min-width:0;flex-direction:column;gap:4px;font-size:13px;color:var(--ink);overflow-wrap:anywhere}.order-info-grid b,.order-description b{color:var(--muted);font-size:11px}.project-fixed-info-fields{position:relative}.project-fixed-info-fields.is-collapsed>.project-fixed-info-group[data-foldable=true]{display:none}.project-fixed-info-group{padding:10px 0 4px}.project-fixed-info-group+.project-fixed-info-group{border-top:1px solid var(--line)}.project-fixed-info-group h4{margin:0 0 9px;color:var(--ink);font-size:12px}.order-description{margin-top:12px;white-space:pre-wrap;word-break:break-word}.customer-edit-form{display:grid;gap:14px}.order-info-actions{display:flex;align-items:center;gap:8px}.project-info-toggle{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:8px;padding:8px 10px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--blue);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.project-info-toggle:hover{background:var(--soft);color:#1554a6}.project-info-toggle:focus-visible{outline:2px solid #99bbf4;outline-offset:-2px;border-radius:6px}.customer-edit-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.customer-edit-grid input,.customer-edit-grid select,.customer-edit-grid textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none}.customer-edit-grid textarea{resize:vertical;font:inherit}.customer-edit-grid .customer-edit-wide{grid-column:1 / -1}.customer-edit-grid input:focus,.customer-edit-grid select:focus,.customer-edit-grid textarea:focus{border-color:#99bbf4;box-shadow:0 0 0 3px var(--soft)}.customer-edit-actions{display:flex;justify-content:flex-end;gap:8px}.project-edit-form{display:grid;gap:16px}.project-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.project-edit-grid>label,.order-form-grid>.field{min-width:0}.project-edit-grid label b,.project-edit-grid label small,.order-form-grid .field>label,.order-form-grid .field>small{overflow-wrap:anywhere}.project-edit-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.project-edit-grid .required-field-label{margin-left:4px;color:var(--red);font-size:11px;font-weight:700}.project-edit-grid input,.project-edit-grid select,.project-edit-grid textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none}.project-edit-grid .project-fixed-checkbox{min-height:36px;flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-size:13px;font-weight:500}.project-edit-grid input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:var(--blue)}.project-edit-grid .project-multi-select{width:100%;min-width:0}.project-edit-grid .project-multi-select .permission-member-menu{left:0;right:auto;width:100%;min-width:0;max-width:100%;max-height:min(260px,calc(100vh - 150px));overflow-y:auto;overscroll-behavior:contain}.project-edit-grid .project-multi-select .permission-member-menu .permission-member-search{box-sizing:border-box;width:100%}.project-edit-grid .project-multi-select .permission-member-menu label{flex-direction:row}.project-edit-grid textarea{resize:vertical;font:inherit}.project-edit-grid input:focus,.project-edit-grid select:focus,.project-edit-grid textarea:focus{border-color:#99bbf4;box-shadow:0 0 0 3px var(--soft)}.project-edit-wide{grid-column:1 / -1}.project-edit-group{padding-top:12px;border-top:1px solid var(--line)}.project-edit-group h4{margin:0 0 10px;color:var(--ink);font-size:12px}.project-edit-readonly{min-height:36px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font-weight:500}.project-edit-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:620px){.project-edit-grid{grid-template-columns:1fr}.project-edit-wide{grid-column:auto}}.customer-save-success{display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 11px;border:1px solid #a7dfc4;border-radius:8px;background:#edf9f3;color:#16734a;font-size:12px;font-weight:700}.payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.payment-summary>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.payment-summary span,.payment-summary strong{display:block}.payment-summary span{margin-bottom:5px;color:var(--muted);font-size:10px}.payment-summary strong{overflow-wrap:anywhere;font-size:13px}.payment-summary .received strong{color:#16734a}.payment-summary .outstanding strong{color:#c43d2f}.payment-records{display:grid;gap:7px}.payment-record{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:12px}.legacy-note{display:flex;flex-direction:column;gap:5px;padding:10px 12px;margin-bottom:12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;font-size:13px}.legacy-note span,.comment-body{white-space:pre-wrap}.comment-compose,.comment-edit{display:flex;align-items:flex-end;gap:8px;margin-bottom:14px}.comment-compose textarea,.comment-edit textarea{min-height:72px;flex:1}.comment-timeline{display:flex;flex-direction:column;gap:12px}.comment-item{padding-left:14px;border-left:2px solid #bfd4f5}.comment-meta{display:flex;flex-direction:column;gap:2px}.comment-meta span{color:var(--muted);font-size:11px}.comment-body{margin:7px 0;font-size:13px;line-height:1.6}.comment-actions{display:flex;gap:4px}.notice{background:#f8fbff;border:1px solid #d8e7ff;border-radius:10px;padding:12px 14px;color:#345b91;font-size:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#152842;color:#fff;padding:10px 16px;border-radius:9px;z-index:40;font-size:13px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(800px 400px at 20% 0%,#d7e6ff,transparent),var(--canvas);padding:24px}.login-card{width:min(460px,100%);background:#fff;border-radius:16px;padding:28px;box-shadow:var(--shadow);border:1px solid var(--line)}.login-form{margin-top:18px}.login-form input{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;padding:0 12px;outline:none}.login-form input:focus{border-color:#99bbf4;box-shadow:0 0 0 3px var(--soft)}.login-error{margin:10px 0;padding:9px 11px;color:var(--red);background:#fff0ee;border-radius:8px;font-size:12px}.login-submit{width:100%;justify-content:center;margin-top:8px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.agent-order{padding:16px 0;border-bottom:1px solid var(--line)}.agent-order:last-child{border-bottom:0}.agent-order-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.agent-order-head .task-main{flex:1;min-width:0}.steps{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.steps li{font-size:11px;color:var(--muted);background:#f2f4f7;border-radius:99px;padding:6px 8px;text-align:center;position:relative}.steps li.done{background:#e8f6ef;color:var(--green);font-weight:650}.steps li.current{background:var(--soft);color:var(--blue);font-weight:700}.role-btn{text-align:left;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.role-btn:hover{border-color:#9cbdf4;background:#f8fbff}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.hidden-hint{font-size:12px;color:var(--amber);background:#fff8eb;padding:8px 10px;border-radius:8px}.permission-page-head{align-items:center}.permission-live{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #cdebdc;border-radius:99px;background:#f2fbf6;color:var(--green);font-size:12px;font-weight:700}.permission-live-dot{width:8px;height:8px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 4px #22a06b1f}.permission-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.permission-stat{padding:15px 16px;display:flex;align-items:center;gap:12px;box-shadow:none}.permission-stat-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}.permission-stat-icon.blue{color:var(--blue);background:var(--soft)}.permission-stat-icon.violet{color:#6941c6;background:#f0eaff}.permission-stat-icon.amber{color:var(--amber);background:#fff3e6}.permission-stat-icon.green{color:var(--green);background:#eaf7f0}.permission-stat b{display:block;font-size:21px;line-height:1.1;letter-spacing:-.03em}.permission-stat span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.permission-workbench{overflow:hidden}.permission-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line);background:#fbfcfe;overflow-x:auto}.permission-tabs button{min-height:54px;padding:0 16px;color:var(--muted);font-weight:650;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.permission-tabs button:hover{color:var(--ink)}.permission-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.permission-tabs button span{min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#eef2f6;color:var(--muted);display:inline-grid;place-items:center;font-size:11px}.permission-tabs button.active span{background:var(--soft);color:var(--blue)}.field-settings-panel{padding:24px}.bs-fields-overlay{z-index:40;padding:22px;overflow-y:auto;overscroll-behavior:contain}.bs-fields-overlay>.field-settings-modal{display:flex;flex-direction:column;width:min(980px,94vw);height:min(86vh,820px);max-height:min(86vh,820px);margin:auto;padding:0;overflow:hidden;overscroll-behavior:contain;box-shadow:0 20px 56px #10182847}.bs-fields-overlay .field-settings-panel{min-width:0;padding:0 24px 26px;overflow:auto;overscroll-behavior:contain}.bs-fields-overlay .permission-panel-head{position:sticky;top:0;z-index:2;margin:0 -24px;padding:22px 24px 16px;background:#fff;border-bottom:1px solid var(--line)}.bs-fields-overlay .field-settings-selectors{margin-top:16px}.bs-fields-overlay .field-settings-add{padding-bottom:8px}@media(max-width:680px){.bs-fields-overlay{padding:10px}.bs-fields-overlay>.field-settings-modal{width:100%;height:94vh;max-height:94vh}.bs-fields-overlay .field-settings-panel{padding:0 16px 22px}.bs-fields-overlay .permission-panel-head{margin:0 -16px;padding:16px 16px 12px}}.field-settings-actions,.custom-fields-heading{display:flex;align-items:center;gap:8px}.custom-fields-heading{justify-content:space-between;margin-bottom:10px}.custom-fields-heading h4{margin:0}.field-settings-selectors{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin:20px 0}.field-settings-selectors .field,.field-settings-form-grid .field{display:grid;gap:7px}.field-settings-selectors label,.field-settings-form-grid label{font-size:12px;font-weight:700;color:var(--muted)}.field-settings-list-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.field-settings-list-head div{display:flex;align-items:baseline;gap:10px}.field-settings-list-head span{color:var(--muted);font-size:13px}.field-settings-table{table-layout:fixed}.field-settings-table th:nth-child(1),.field-settings-table td:nth-child(1){width:48%}.field-settings-table th:nth-child(2),.field-settings-table td:nth-child(2){width:16%}.field-settings-table th:nth-child(3),.field-settings-table td:nth-child(3){width:10%}.field-settings-table th:nth-child(4),.field-settings-table td:nth-child(4){width:26%}.field-settings-table td:first-child{overflow-wrap:anywhere}.field-settings-table td:first-child span{display:block;color:var(--muted);font-size:12px;margin-top:3px;overflow-wrap:anywhere}.field-settings-table code{color:var(--blue);font-size:12px}.field-formula-preview{display:block;margin-top:5px;white-space:normal;word-break:break-word}.field-row-actions{display:flex;gap:7px;flex-wrap:wrap}.field-settings-edit{border:1px solid #d8e3f2;border-radius:8px;margin-top:18px;padding:18px;background:#f8fbff}.field-settings-add{border-top:1px solid #e9edf3;margin-top:24px;padding-top:22px}.field-settings-add-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.field-settings-add-head h3{margin:0 0 4px}.field-settings-add-head p{margin:0;color:var(--muted);font-size:13px}.field-settings-form-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin-bottom:16px}.field-settings-wide{grid-column:1 / -1}.field-settings-checkbox{display:flex;align-items:center;gap:8px;align-self:end;min-height:38px}.field-settings-checkbox input{width:16px;height:16px}.field-settings-add-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field-settings-inline-error{padding:8px 10px;border:1px solid #f1b8b3;border-radius:6px;background:#fff4f2;color:#b42318;font-size:13px;font-weight:700}.formula-builder{gap:10px!important}.formula-builder-main{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:stretch}.formula-expression-box{min-height:86px;padding:12px;border:1px solid #d8dee8;border-radius:6px;background:#f8fafc;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.7;white-space:pre-wrap;word-break:break-word}.formula-builder-side{display:grid;gap:7px;align-content:start;padding:10px;border:1px solid #e9edf3;border-radius:6px;background:#fff}.formula-token-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.formula-token,.formula-field-option{min-height:34px;padding:6px 10px;border:1px solid #d8dee8;border-radius:5px;background:#fff;color:var(--text);cursor:pointer}.formula-token:hover,.formula-field-option:hover{border-color:var(--blue);color:var(--blue);background:#f4f8ff}.formula-builder-row,.formula-builder-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.formula-builder-row input{width:150px}.formula-builder-fields{display:grid;gap:8px}.formula-field-options{display:flex;flex-wrap:wrap;gap:7px}.formula-error{padding:8px 10px;border:1px solid #f1b8b3;border-radius:6px;background:#fff4f2;color:#b42318;font-size:13px;font-weight:700}.project-formula-errors{margin:0 0 12px;padding:10px 12px;border:1px solid #f1b8b3;border-radius:8px;background:#fff4f2;color:#8f1d14}.project-formula-errors h5{margin:0 0 6px;font-size:13px}.project-formula-errors ul{margin:0;padding-left:18px}.project-formula-errors li{display:flex;gap:8px;font-size:12px}.project-formula-errors li span{font-weight:400}.project-edit-error{margin:0 0 10px;padding:8px 10px;border:1px solid #f1b8b3;border-radius:6px;background:#fff4f2;color:#b42318;font-size:13px;font-weight:700}.permission-panel{padding:22px}.permission-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;flex-wrap:wrap}.permission-panel-head h2{font-size:17px;margin-bottom:4px}.permission-panel-head p{margin:0;color:var(--muted);font-size:13px}.permission-impact{color:#7a4b10;background:#fff8eb;border:1px solid #f3e0b8;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:650}.permission-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.permission-role-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s}.permission-role-card:hover{border-color:#b9c9de;box-shadow:0 7px 18px #10233f12;transform:translateY(-1px)}.permission-role-top{display:flex;align-items:center;gap:10px}.permission-role-top>svg{color:#98a2b3;margin-left:auto}.permission-role-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-weight:800}.permission-role-card.delivery .permission-role-mark{background:#eaf7f0;color:var(--green)}.permission-role-card.finance .permission-role-mark{background:#fff3e6;color:var(--amber)}.permission-role-card.agent .permission-role-mark{background:#f0eaff;color:#6941c6}.permission-role-top h3{font-size:14px}.permission-role-top span{color:var(--muted);font-size:11px}.permission-role-card>p{min-height:42px;margin:14px 0 10px;color:var(--muted);font-size:12px}.permission-scope{display:flex;align-items:center;gap:6px;border-radius:8px;padding:7px 9px;background:#f7f9fc;color:#475467;font-size:11px;font-weight:650}.permission-ability-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.permission-ability-tags span{padding:3px 7px;border-radius:5px;background:#f2f4f7;color:#475467;font-size:10px}.permission-member-list{display:flex;align-items:center;min-height:29px;margin-top:14px;padding-top:12px;border-top:1px solid #eef1f5}.permission-member-list>span{width:26px;height:26px;margin-right:-5px;border:2px solid #fff;border-radius:50%;background:#dce9fc;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:750}.permission-member-list small{margin-left:11px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.permission-policy{display:flex;align-items:flex-start;gap:10px;border:1px solid #d8e7ff;border-radius:10px;padding:12px;background:#f8fbff;color:var(--blue)}.permission-policy svg{flex:none;margin-top:1px}.permission-policy b{display:block;color:#234e84;font-size:12px}.permission-policy span{display:block;color:#5a7190;font-size:11px;margin-top:2px}.workspace-role-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.workspace-role-section .section-head{align-items:flex-start}.workspace-role-section .section-head h2{font-size:17px;margin-bottom:3px}.workspace-role-section .section-head p{margin:0;font-size:12px}.workspace-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-role-card.is-unconfigured{border-style:dashed;background:color-mix(in srgb,var(--card) 88%,var(--border))}.workspace-role-card.is-unconfigured .permission-role-mark{filter:grayscale(1);opacity:.7}.workspace-role-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.workspace-role-card-head{display:flex;align-items:center;gap:10px}.workspace-role-card-head h3{font-size:14px}.workspace-role-card-head span{color:var(--muted);font-size:10px}.workspace-role-card>p{min-height:34px;margin:11px 0;color:var(--muted);font-size:11px}.workspace-role-scope{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:6px 0;border-top:1px solid #eef1f5;font-size:11px}.workspace-role-scope b{color:#475467}.workspace-role-scope span{color:var(--muted)}.workspace-role-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.workspace-role-modal{width:min(620px,94vw);overflow:visible}.workspace-role-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 18px}.workspace-role-modal-actions{display:flex;justify-content:flex-end;gap:8px}.employee-modal{width:min(500px,94vw)}.employee-list{display:grid;gap:8px}.employee-row{display:grid;grid-template-columns:auto minmax(150px,.8fr) minmax(110px,.45fr) minmax(220px,1fr) auto;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.employee-row:hover{border-color:#c9d4e3;background:#fcfdff}.employee-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--blue);font-size:13px;font-weight:800}.employee-profile b{display:block;font-size:12px}.employee-profile span,.employee-label{display:block;margin-bottom:3px;color:var(--muted);font-size:10px}.employee-business-roles p{margin:0;color:#475467;font-size:11px}.employee-actions{display:flex;align-items:center;gap:6px}.permission-page-list{display:grid;gap:10px}.permission-page-row{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(350px,.9fr);align-items:center;gap:13px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.permission-page-row:hover{border-color:#c9d4e3;background:#fcfdff}.permission-page-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center}.permission-page-icon.enabled{color:var(--green);background:#eaf7f0}.permission-page-icon.restricted{color:var(--amber);background:#fff3e6}.permission-page-meta>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.permission-page-meta h3{font-size:14px}.permission-page-meta p{margin:4px 0 0;color:var(--muted);font-size:11px}.permission-member-config{display:grid;gap:9px}.permission-manager-select{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.permission-manager-select select{min-width:150px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink);outline:none}.permission-role-source>span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px}.permission-role-source>div{display:flex;flex-wrap:wrap;gap:5px}.permission-role-source>div b{padding:5px 8px;border-radius:7px;background:var(--soft);color:var(--blue);font-size:10px}.permission-role-source>div em{color:var(--amber);font-size:11px;font-style:normal}.permission-role-source>small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.permission-member-dropdown{position:relative}.permission-member-dropdown>span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px}.permission-member-dropdown>button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.permission-member-dropdown>button:hover,.permission-member-dropdown>button.open{border-color:#9dbbe7;box-shadow:0 0 0 3px #edf4ff}.permission-member-dropdown>button>span{min-width:0}.permission-member-dropdown>button b{display:block;color:var(--ink);font-size:11px}.permission-member-dropdown>button small{display:block;max-width:300px;margin-top:1px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.permission-member-dropdown>button svg{flex:none;color:var(--muted);transition:transform .18s}.permission-member-dropdown>button.open svg{transform:rotate(180deg)}.permission-member-menu{position:absolute;z-index:20;top:calc(100% + 5px);right:0;width:100%;min-width:260px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 28px #10182829}.permission-member-menu label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border-radius:7px;cursor:pointer}.permission-member-menu label:hover,.permission-member-menu label.selected{background:#f5f9ff}.permission-member-menu input{width:14px;height:14px;margin:0}.permission-member-menu .permission-member-search{width:100%;height:32px;margin:0 0 5px;padding:0 9px;border:1px solid var(--line);border-radius:7px;outline:none;font-size:11px}.permission-member-menu .permission-member-search:focus{border-color:#9dbbe7;box-shadow:0 0 0 3px #edf4ff}.permission-member-menu label>span{min-width:0}.searchable-select>button>span{color:var(--ink);font-size:12px}.searchable-select .permission-member-menu>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.searchable-select .permission-member-menu{z-index:40;max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5d4e8 transparent}.searchable-select .permission-member-menu .permission-member-search{position:sticky;top:0;z-index:1;background:#fff}.searchable-select .permission-member-menu>button:hover,.searchable-select .permission-member-menu>button.selected{background:#f5f9ff}.searchable-select .permission-member-menu>button>span{min-width:0}.searchable-select .permission-member-menu>button b{display:block;color:var(--ink);font-size:11px}.searchable-select .permission-member-menu>button small{display:block;margin-top:1px;color:var(--muted);font-size:9px}.permission-member-empty{display:block;padding:10px 8px;color:var(--muted);font-size:11px}.permission-member-menu b{display:block;color:var(--ink);font-size:11px}.permission-member-menu small{display:block;margin-top:1px;color:var(--muted);font-size:9px}.permission-member-menu svg{color:var(--blue)}.permission-page-access{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-access-item{min-height:48px;position:relative;display:flex;flex-direction:column;justify-content:center;padding:8px 48px 8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.permission-access-item.locked{padding-right:11px;background:#f7f9fc;cursor:default}.permission-access-item>span{display:flex;align-items:center;gap:5px;color:var(--ink);font-size:12px;font-weight:650}.permission-access-item>small{color:var(--muted);font-size:10px;margin-top:1px}.permission-switch-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.permission-switch{position:absolute;right:10px;top:50%;width:32px;height:19px;border-radius:99px;background:#cfd6df;transform:translateY(-50%);transition:background .18s}.permission-switch:after{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #10182838;transition:transform .18s}.permission-switch-input:checked+.permission-switch{background:var(--blue)}.permission-switch-input:checked+.permission-switch:after{transform:translate(13px)}.permission-switch-input:focus-visible+.permission-switch{box-shadow:0 0 0 3px #cfe0fb}.permission-warning{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:10px;border:1px solid #f3e0b8;background:#fff8eb;color:#8a5a12}.permission-warning svg{flex:none;margin-top:1px}.permission-warning b{display:block;font-size:12px}.permission-warning span{display:block;font-size:11px;margin-top:2px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-chart-grid,.layout,.kanban{grid-template-columns:1fr}.permission-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-role-grid{grid-template-columns:1fr}.employee-row{grid-template-columns:auto minmax(140px,1fr) minmax(100px,.5fr) auto}.employee-business-roles{grid-column:2 / -1}.permission-policy-grid{grid-template-columns:1fr}.permission-page-row{grid-template-columns:auto 1fr}.permission-page-access,.permission-member-config{grid-column:2}}@media(max-width:800px){.sidebar{width:72px;padding:12px 8px}.brand>div:last-child,.nav-label,.nav button span.label,.subnav,.side-bottom span{display:none}.nav button{justify-content:center;padding:0}.content{padding:18px 14px 40px}.topbar{padding:0 14px}.search{min-width:0;width:140px}.form-row{grid-template-columns:1fr}.order-modal{width:min(96vw,680px);max-height:94vh}.order-modal .modal-heading,.order-form-body,.order-modal-footer{padding-left:16px;padding-right:16px}.order-form-grid,.order-form-grid-three{grid-template-columns:1fr}.order-field-wide{grid-column:auto}.order-modal-footer{align-items:stretch;flex-direction:column}.order-modal-footer>div{justify-content:flex-end}.assignment-title-group small{max-width:190px}.assignment-footer{align-items:flex-end}.role-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.agent-order-head{flex-wrap:wrap}.permission-summary{grid-template-columns:repeat(2,1fr)}.permission-panel{padding:16px}.permission-tabs{padding:0 8px}.permission-tabs button{padding:0 11px}.field-settings-panel{padding:16px}.field-settings-selectors,.field-settings-form-grid{grid-template-columns:1fr}.field-settings-wide{grid-column:auto}.permission-role-grid,.workspace-role-selects{grid-template-columns:1fr}.employee-row{grid-template-columns:auto 1fr auto}.employee-row>div:nth-child(3),.employee-business-roles{grid-column:2 / -1}.permission-role-card>p{min-height:0}.permission-page-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.permission-page-access,.permission-member-config{grid-column:1 / -1;grid-template-columns:1fr}.finance-currency-head{align-items:flex-start;flex-direction:column}.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-month-chart{overflow-x:auto;justify-content:flex-start}.finance-month{flex:0 0 58px}.assignment-controls{min-width:0;flex-wrap:wrap}.topbar{min-width:0;overflow:hidden}.crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{min-width:0;flex-shrink:1}.top-actions .chip{display:none}.agent-overview,.agent-overview-kpis,.agent-overview-grid,.agent-workspace,.agent-detail,.customer-workspace{min-width:0}.agent-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-kpi.wide{grid-column:1 / -1}.agent-overview-grid,.agent-workspace,.customer-workspace{grid-template-columns:minmax(0,1fr)}.agent-ranking>button{grid-template-columns:24px minmax(0,1fr) auto}.agent-rank-bar{display:none}.agent-chart-panel,.agent-project-panel,.agent-customer-panel,.agent-profile-card{min-width:0}.agent-list-scroll{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.agent-list-scroll>button{min-width:0}.agent-profile-head{align-items:flex-start;flex-direction:column}.agent-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-money-grid{grid-template-columns:1fr}.agent-panel-head{align-items:stretch;flex-direction:column}.agent-project-filters{width:100%}.agent-project-filters .chip{min-width:0;flex:1}.agent-customer-grid{grid-template-columns:1fr}.customer-list-panel{max-height:240px;overflow:auto}.customer-detail-panel{min-width:0}.customer-project-list>button{grid-template-columns:minmax(0,1fr)}.customer-project-list>button .tag,.customer-project-list>button strong{justify-self:start}.payment-summary{grid-template-columns:1fr}}.status-count-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.status-count{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;border:1px solid var(--border, #e5e7eb);background:#fff;cursor:pointer;font-size:12px;color:var(--muted);transition:border-color .15s,box-shadow .15s}.status-count:hover{border-color:var(--blue, #2563eb)}.status-count.active{border-color:var(--blue, #2563eb);color:#111;box-shadow:0 0 0 2px #2563eb1f}.status-count b{font-size:14px;color:#111}.status-count b.zero{color:#9aa3af;font-weight:500}.status-count .dot{width:7px;height:7px;border-radius:50%;background:#c7cdd6}.status-count .dot.all{background:var(--blue, #2563eb)}.status-count .dot.done{background:#16a34a}.status-pipeline{padding:2px 0 0}.status-pipeline-track{display:flex;align-items:flex-start}.pipeline-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:0 4px}.pipeline-step:not(:last-child):after{content:"";position:absolute;top:12px;left:50%;width:100%;height:2px;background:#e5e7eb}.pipeline-step.done:not(:last-child):after{background:#16a34a}.pipeline-step-mark{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;background:#f1f3f7;color:#6b7280;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.pipeline-step.done .pipeline-step-mark{background:#dcfce7;color:#15803d}.pipeline-step.current .pipeline-step-mark{background:var(--blue, #2563eb);color:#fff}.pipeline-step-label{font-size:11px;color:var(--muted)}.pipeline-step.current .pipeline-step-label{color:#111;font-weight:600}.pipeline-step-date{font-size:10px;color:#b45309}.pipeline-note{margin:10px 0 0;font-size:11px;color:var(--muted)}.pipeline-note.complete{color:#b45309}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;text-align:center}.empty-state-mark{font-size:26px;line-height:1}.empty-state b{font-size:13px}.empty-state span{font-size:12px;color:var(--muted)}.empty-state-actions{display:flex;gap:8px;margin-top:6px}.recent-projects .workbench-list-head{align-items:flex-start}.recent-projects .workbench-list-head p{margin:3px 0 0}.workspace-result-tools{display:inline-flex;align-items:center;gap:10px}.page-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-pipeline-block{padding:12px 0 6px;border-top:1px solid var(--line)}.project-pipeline-block h4{margin:0 0 9px;color:var(--ink);font-size:12px}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:60}.preview-panel{background:#fff;color:#0f172a;border-radius:12px;width:min(920px,92vw);height:min(80vh,760px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 48px #0f172a47}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e5e7eb}.preview-image{max-width:100%;max-height:calc(80vh - 60px);object-fit:contain;margin:auto}.preview-frame{flex:1;width:100%;border:0}.project-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.project-progress-head h4{margin:0}.project-status-set{display:flex;align-items:center;gap:8px;flex:none}.project-status-set select{min-width:140px}.project-progress-head{margin-bottom:12px}.project-status-set select:disabled{opacity:.6}.employee-workspace-chips{display:flex;flex-wrap:wrap;gap:4px}.ws-chip{display:inline-flex;align-items:center;border:1px solid #d0d5dd;border-radius:999px;padding:1px 8px;font-size:11px;color:#344054;background:#f9fafb}.ws-chip.is-manager{border-color:#b54708;color:#b54708;background:#fffaeb;font-weight:600}.employee-warning{margin:0;color:#b42318;font-size:11px}.employee-workspaces-modal{width:min(520px,94vw);padding-bottom:4px}.ws-modal-head{display:flex;align-items:center;gap:10px}.ws-modal-avatar{width:36px;height:36px;border-radius:50%;background:#eff8ff;color:#1570ef;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex:none}.ws-modal-title{min-width:0}.ws-modal-title h2{margin:0;font-size:15px;line-height:1.3}.ws-modal-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#667085;margin-top:3px}.ws-modal-meta .tag{font-size:10.5px;padding:1px 7px}.ws-modal-note{font-size:11.5px;line-height:1.65;color:#475467;background:#f9fafb;border:1px solid #eaecf0;border-radius:8px;padding:8px 10px;margin:10px 0}.ws-modal-note.warn{background:#fffaeb;border-color:#fedf89;color:#b54708}.ws-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:#667085;margin:0 0 8px}.ws-modal-toolbar b{color:#101828}.ws-modal-tools{display:flex;gap:6px}.ws-modal-tools .btn.sm{padding:3px 9px;font-size:11.5px}.ws-list{display:grid;gap:6px;max-height:46vh;overflow-y:auto;overscroll-behavior:contain;margin-bottom:14px;padding:2px 6px 10px 2px;scrollbar-width:thin}.ws-list::-webkit-scrollbar{width:6px}.ws-list::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:999px}.ws-list::-webkit-scrollbar-thumb:hover{background:#b4bcc9}.ws-list::-webkit-scrollbar-track{background:transparent}.ws-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:9px 12px;border:1px solid #eaecf0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .12s ease,background .12s ease}.ws-row:hover{border-color:#b2ddff;background:#f9fbff}.ws-row.is-active{border-color:#84caff;background:#f5faff}.ws-row input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#1570ef;cursor:pointer}.ws-row-main{display:flex;flex-direction:column;gap:1px;min-width:0}.ws-row-name{font-size:13px;font-weight:500;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-row-desc{font-size:11.5px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-row-tag{font-size:10.5px;font-weight:600;color:#b54708;background:#fffaeb;border:1px solid #fedf89;border-radius:999px;padding:1px 8px;white-space:nowrap}.ws-row-check{color:#1570ef}.ws-empty{font-size:12px;color:#667085;margin:0;padding:8px 0}.supervisor-chip{display:inline-flex;align-items:center;border:1px solid #fedf89;background:#fffaeb;color:#b54708;font-weight:600;border-radius:999px;padding:1px 8px;font-size:11px}.bs-modal{width:min(720px,94vw);padding-bottom:14px}.bs-head{display:flex;align-items:center;gap:10px}.bs-head-icon{width:34px;height:34px;border-radius:9px;background:#eff8ff;color:#1570ef;display:flex;align-items:center;justify-content:center;flex:none}.bs-head-title{min-width:0;flex:1}.bs-head-title h2{margin:0;font-size:15.5px;line-height:1.3}.bs-head-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11.5px;color:#667085;margin-top:2px}.bs-head-meta b{color:#101828}.bs-dot{color:#d0d5dd}.bs-note{font-size:11.5px;line-height:1.6;color:#475467;background:#f9fafb;border:1px solid #eaecf0;border-radius:8px;padding:8px 10px;margin:10px 0}.bs-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}.bs-add input{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:9px 12px;font-size:13px;color:#101828;background:#fff}.bs-add input:focus{outline:none;border-color:#84caff;box-shadow:0 0 0 3px #eff8ff}.bs-add .btn.primary{white-space:nowrap}.bs-list{display:grid;gap:6px;max-height:52vh;overflow-y:auto;overscroll-behavior:contain;padding:2px 6px 10px 2px;scrollbar-width:thin}.bs-list::-webkit-scrollbar{width:6px}.bs-list::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:999px}.bs-list::-webkit-scrollbar-track{background:transparent}.bs-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 12px;border:1px solid #eaecf0;border-radius:10px;background:#fff;min-height:52px}.bs-row:hover{border-color:#d6e4ff;background:#fcfdff}.bs-row.is-off{background:#fafbfc}.bs-row-name{font-size:13px;font-weight:500;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-row.is-off .bs-row-name{color:#98a2b3}.bs-row-input{width:100%;border:1px solid #84caff;border-radius:8px;padding:6px 10px;font-size:13px;color:#101828;box-shadow:0 0 0 3px #eff8ff}.bs-row-input:focus{outline:none}.bs-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:11px;border-radius:999px;padding:2px 9px;white-space:nowrap;min-width:62px}.bs-badge.on{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.bs-badge.off{background:#f2f4f7;color:#667085;border:1px solid #e4e7ec}.bs-badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.bs-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.bs-row-actions .btn.sm{padding:4px 10px;font-size:11.5px;min-width:68px;justify-content:center}.bs-confirm-text{font-size:11.5px;color:#b54708}.bs-empty{font-size:12px;color:#667085;margin:0;padding:12px 2px}.bs-workspace{width:min(920px,94vw);padding:0;overflow:hidden}.bs-workspace-head{display:flex;align-items:center;gap:12px;padding:16px 22px 15px;border-bottom:1px solid var(--line)}.bs-workspace-head .bs-head-icon{width:38px;height:38px;border-radius:10px}.bs-kicker{color:var(--blue);font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:2px}.bs-workspace-head .bs-head-title h2{font-size:18px;line-height:1.3}.bs-workspace-head .bs-head-meta{margin-top:4px;color:var(--muted);font-size:11.5px}.bs-workspace-head .bs-head-meta i{display:inline-block;width:3px;height:3px;margin:0 7px;border-radius:50%;background:#98a2b3;vertical-align:middle}.bs-workspace-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:420px;background:#f8fafc}.bs-catalog{background:#fff;border-right:1px solid var(--line);padding:16px 12px 18px;min-width:0}.bs-catalog-head{padding:0 8px 11px}.bs-catalog-head>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bs-catalog-head strong{font-size:13px;color:var(--ink)}.bs-catalog-head span{color:var(--muted);font-size:11px}.bs-catalog-caption{display:none}.bs-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:0 2px 14px;border-bottom:1px solid #f0f2f5}.bs-create input{min-width:0;width:100%;border:1px solid #d0d5dd;border-radius:7px;padding:7px 9px;color:var(--ink);font-size:12px}.bs-create input:focus{outline:none;border-color:#84caff;box-shadow:0 0 0 3px #eff8ff}.bs-create .btn{padding:7px 9px;font-size:11.5px;white-space:nowrap}.bs-catalog-list{display:grid;gap:3px;padding-top:10px;max-height:390px;overflow:auto;scrollbar-width:thin}.bs-catalog-row{display:flex;min-width:0;align-items:center;border-radius:7px}.bs-catalog-row.is-selected{background:#eff6ff}.bs-catalog-row.is-off{opacity:.62}.bs-catalog-select{display:grid;grid-template-columns:25px minmax(0,1fr) 16px;align-items:center;gap:4px;width:100%;min-width:0;padding:8px;text-align:left;color:var(--ink);border-radius:7px}.bs-catalog-select:hover{background:#f5f9ff}.bs-catalog-row.is-selected .bs-catalog-select{color:#135dcc;font-weight:600}.bs-index{color:#98a2b3;font-variant-numeric:tabular-nums;font-size:10.5px}.bs-catalog-row.is-selected .bs-index{color:#5793e8}.bs-catalog-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.bs-chevron{color:#98a2b3}.bs-inline-name{min-width:0;width:100%;border:1px solid #84caff;border-radius:5px;padding:3px 5px;font-size:12px;box-shadow:0 0 0 2px #eff8ff}.bs-inline-name:focus{outline:none}.bs-inline-actions{display:flex;gap:3px;padding-right:5px}.bs-inline-actions .btn.xs{min-width:24px;padding:4px 5px;font-size:11px}.bs-detail{min-width:0;padding:24px 30px 25px;background:#f8fafc}.bs-detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.bs-detail-number{color:#98a2b3;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bs-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.bs-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.bs-status.on{color:#027a48;background:#ecfdf3}.bs-status.off{color:#667085;background:#eaecf0}.bs-detail-title-row{display:flex;align-items:baseline;gap:10px;min-width:0;margin-top:14px}.bs-detail-title-row h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#101828;font-size:21px;line-height:1.25}.bs-code{flex:none;color:#98a2b3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.bs-detail-desc{max-width:430px;margin:11px 0 0;color:#667085;font-size:12px;line-height:1.8}.bs-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;max-width:480px}.bs-detail-stats>div{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:7px;padding:12px;border-top:1px solid #dfe5ec;color:#667085}.bs-detail-stats svg{grid-row:span 2;color:#7b8798;margin-top:2px}.bs-detail-stats span{font-size:11px}.bs-detail-stats strong{margin-top:2px;color:#344054;font-size:12px;font-weight:600}.bs-detail-actions{display:flex;align-items:center;gap:7px;margin-top:22px}.bs-detail-actions .btn{display:inline-flex;align-items:center;gap:6px}.bs-confirm-panel{max-width:480px;margin-top:28px;padding:14px;border:1px solid #fedf89;border-radius:8px;background:#fffaeb}.bs-confirm-panel strong{display:block;color:#7a2e0e;font-size:12px}.bs-confirm-panel>span{display:block;margin-top:3px;color:#b54708;font-size:11px}.bs-confirm-panel>div{display:flex;gap:6px;margin-top:11px}.bs-detail-empty{display:grid;place-items:center;align-content:center;gap:7px;height:100%;min-height:400px;color:#98a2b3;text-align:center}.bs-detail-empty strong{color:#667085;font-size:13px}.bs-detail-empty span{font-size:11px}@media(max-width:680px){.bs-workspace-body{grid-template-columns:1fr}.bs-catalog{border-right:0;border-bottom:1px solid var(--line)}.bs-catalog-list{max-height:190px}.bs-detail{padding:24px 20px 28px}.bs-detail-title-row h3{font-size:21px}}.kpis.kpis-5{grid-template-columns:repeat(5,1fr)}@media(max-width:1180px){.kpis.kpis-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.kpis.kpis-5{grid-template-columns:repeat(2,1fr)}}.overview-table-wrap{overflow-x:auto}.overview-table{min-width:880px}.overview-table td{vertical-align:middle}.overview-sub{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.link-action{padding:0;border:0;background:none;cursor:pointer;color:var(--blue);font:inherit;font-size:13px;white-space:nowrap}.link-action:hover{text-decoration:underline}.overview-bars{display:grid;gap:10px;margin-top:4px}.overview-bar{display:grid;grid-template-columns:minmax(96px,160px) 1fr 42px;gap:10px;align-items:center;font-size:13px}.overview-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#39415a}.overview-bar .track{height:9px;border-radius:999px;background:#eef1f7;overflow:hidden}.overview-bar .track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7fa8ff,var(--blue))}.overview-bar .num{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:900px){.overview-bar{grid-template-columns:88px 1fr 36px}}
