.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f3f4f6;padding:24px}.login-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:40px 36px 36px;box-shadow:0 4px 24px #0000000f;display:flex;flex-direction:column;gap:20px}.login-header{margin-bottom:4px}.login-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#111827;letter-spacing:-.02em}.login-subtitle{margin:0;font-size:14px;color:#9ca3af}.login-tabs{display:flex;gap:0;background:#f3f4f6;border-radius:10px;padding:4px}.login-tabs button{flex:1;padding:10px 12px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.login-tabs button.active{background:#fff;color:#111827;box-shadow:0 1px 3px #00000014}.login-field{display:flex;flex-direction:column;gap:8px}.login-label{font-size:14px;font-weight:500;color:#111827}.login-input-wrap{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#fca5a5;box-shadow:0 0 0 3px #ef44441f}.login-field-icon{width:20px;height:20px;flex-shrink:0;color:#9ca3af}.login-input-wrap input{flex:1;min-width:0;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.login-input-wrap input::placeholder{color:#d1d5db}.login-toggle-pwd{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;color:#9ca3af}.login-toggle-pwd:hover{color:#6b7280}.login-error{margin:-8px 0 0;color:#dc2626;font-size:13px}.login-submit{margin-top:4px;width:100%;height:48px;padding:0 16px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s}.login-submit:hover:not(:disabled){background:#dc2626}.login-submit:disabled{opacity:.65;cursor:not-allowed}.wb-toolbar-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.wb-advanced-filter{position:relative;flex-shrink:0}.wb-filter-trigger{display:inline-flex;align-items:center;gap:4px;border:1px solid #e5e7eb;background:#fff;padding:6px 10px}.wb-filter-trigger.active{border-color:#c4b5fd;background:#faf5ff;color:#6d28d9}.wb-filter-badge{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#7c3aed;color:#fff;font-size:11px;line-height:16px;text-align:center}.wb-filter-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:580px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 32px #0000001f;padding:14px}.wb-filter-panel-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.wb-filter-panel-head strong{font-size:14px;color:#111827}.wb-filter-panel-head span{font-size:12px;color:#9ca3af}.wb-filter-logic-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.wb-filter-logic-label{font-size:12px;color:#6b7280;flex-shrink:0}.wb-filter-logic-toggle{display:inline-flex;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.wb-filter-logic-toggle button{border:none;background:#fff;padding:4px 14px;font-size:13px;color:#6b7280;cursor:pointer}.wb-filter-logic-toggle button.active{background:#7c3aed;color:#fff}.wb-filter-panel-body{display:grid;grid-template-columns:132px 1fr;gap:12px;min-height:120px}.wb-filter-field-list{list-style:none;margin:0;padding:0 10px 0 0;display:flex;flex-direction:column;gap:4px;border-right:1px solid #f0f0f5;max-height:280px;overflow-y:auto}.wb-filter-field-item{width:100%;text-align:left;border:none;background:none;padding:6px 8px;border-radius:6px;font-size:13px;color:#374151;cursor:pointer}.wb-filter-field-item:hover{background:#f9fafb}.wb-filter-field-item.active{background:#ede9fe;color:#6d28d9;font-weight:500}.wb-filter-conditions{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.wb-filter-empty-hint{margin:0;font-size:12px;color:#9ca3af;padding:8px 0}.wb-filter-rule{display:grid;grid-template-columns:72px 72px minmax(0,1fr) 28px;gap:6px;align-items:center}.wb-filter-operator,.wb-filter-rule select,.wb-filter-rule input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;min-width:0}.wb-filter-value-placeholder{font-size:12px;color:#9ca3af;padding:6px 4px}.wb-filter-rule-field{font-size:12px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-filter-rule select,.wb-filter-rule input{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;min-width:0}.wb-filter-remove{width:28px;height:28px;border:none;background:#f3f4f6;border-radius:6px;cursor:pointer;color:#6b7280;font-size:16px;line-height:1}.wb-filter-remove:disabled{opacity:.4;cursor:not-allowed}.wb-filter-panel-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f5}.wb-filter-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 8px;border-bottom:1px solid #f0f0f5}.wb-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#ede9fe;color:#5b21b6;font-size:12px}.wb-filter-chip button{border:none;background:none;cursor:pointer;color:#7c3aed;padding:0 2px;font-size:14px;line-height:1}.wb-filter-chip-logic{background:#f3f4f6;color:#4b5563;font-weight:600}.wb-view-tabs-wrap{padding:0 16px 8px;flex-shrink:0;border-bottom:1px solid #f0f0f5}.wb-view-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:2px}.wb-view-tabs::-webkit-scrollbar{height:4px}.wb-view-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:transparent;color:#6b7280;font-size:13px;white-space:nowrap;cursor:pointer;flex-shrink:0}.wb-view-tab svg{flex-shrink:0;opacity:.55}.wb-view-tab:hover:not(:disabled){background:#f3f4f6;color:#374151}.wb-view-tab.active{background:#ede9fe;color:#6d28d9}.wb-view-tab.active svg{opacity:1;color:#6d28d9}.wb-view-tab:disabled{opacity:.6;cursor:wait}.wb-view-tab-muted{cursor:default;font-size:13px;color:#9ca3af}.data-workbench{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:4px;border:1px solid #e8e8ef;overflow:hidden}.wb-context{padding:12px 16px 0;flex-shrink:0}.wb-context-table{font-size:15px;font-weight:600;color:#111827;line-height:1.4}.data-workbench-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #ececf2;flex-shrink:0}.data-workbench-toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wb-btn{padding:6px 10px;border:none;background:transparent;border-radius:6px;font-size:13px;color:#4b5563;cursor:pointer;white-space:nowrap}.wb-btn:hover:not(:disabled){background:#f3f4f6;color:#111827}.wb-btn:disabled{opacity:.45;cursor:not-allowed}.wb-btn-primary{background:#7c3aed;color:#fff;padding:6px 16px;font-weight:500}.wb-btn-primary:hover{background:#6d28d9;color:#fff}.wb-btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:6px;color:#6b7280}.wb-btn-icon:hover:not(:disabled){color:#7c3aed;background:#f3f4f6}.wb-search{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa;color:#9ca3af;min-width:200px;flex:1;max-width:320px}.wb-search input{border:none;background:transparent;outline:none;font-size:13px;color:#111827;width:100%;min-width:0}.wb-search input::placeholder{color:#9ca3af}.data-workbench-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.wb-table-wrap{flex:1;overflow:auto}.wb-table{width:100%;border-collapse:collapse;font-size:13px}.wb-table th,.wb-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f5;white-space:nowrap}.wb-table th{background:#fafafa;color:#6b7280;font-weight:500;position:sticky;top:0;z-index:1}.wb-table tbody tr:hover{background:#faf9ff}.wb-table tbody tr.wb-row-clickable{cursor:pointer}.wb-table .col-index{color:#9ca3af;width:48px;text-align:center}.wb-table .col-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#6b7280;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-table .col-check{width:40px}.wb-table .col-actions{white-space:nowrap}.wb-link{border:none;background:none;color:#7c3aed;cursor:pointer;padding:0 6px 0 0;font-size:13px}.wb-link:hover{text-decoration:underline}.wb-link-danger{color:#dc2626}.wb-pagination{display:flex;align-items:center;justify-content:flex-end;padding:10px 16px;border-top:1px solid #ececf2;font-size:13px;color:#6b7280;flex-shrink:0}.wb-pagination-group{display:flex;align-items:center;gap:12px}.wb-pagination button{padding:4px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}.wb-pagination button:disabled{opacity:.5;cursor:not-allowed}.wb-pagination-size{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.wb-pagination-size select{padding:4px 8px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:13px;color:#374151;cursor:pointer}.wb-error{margin:8px 16px 0;color:#dc2626;font-size:13px}.wb-batch-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#faf5ff;border-bottom:1px solid #ede9fe;font-size:13px;color:#6d28d9}.wb-empty{text-align:center;padding:48px 16px;color:#9ca3af}.wb-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;line-height:1.5}.wb-tag-muted{background:#f3f4f6;color:#6b7280}.wb-tag-success{background:#d1fae5;color:#047857}.tag-blue{background:#dbeafe;color:#1d4ed8}.tag-amber{background:#fef3c7;color:#b45309}.tag-green{background:#d1fae5;color:#047857}.tag-purple{background:#ede9fe;color:#6d28d9}.tag-cyan{background:#cffafe;color:#0e7490}.modal-card{width:420px;max-height:90vh;overflow:auto;background:#fff;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 40px #00000026}.modal-card-wide{width:min(960px,92vw)}.modal-card h2{margin:0 0 8px;font-size:18px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.modal-header h2{margin:0}.modal-header-actions{display:flex;gap:8px;flex-shrink:0}.modal-card label{display:flex;flex-direction:column;gap:4px;font-size:13px}.modal-card input,.modal-card select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px}.entity-form{display:flex;flex-direction:column;gap:10px;max-width:420px}.entity-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}.entity-form input,.entity-form select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px}.entity-form-readonly input,.entity-form-readonly select{background:#f9fafb;color:#374151;cursor:default;opacity:1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.modal-actions .wb-btn-primary{padding:8px 16px}.record-detail{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;border-radius:4px;border:1px solid #e8e8ef;overflow:hidden}.record-detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #ececf2;flex-shrink:0}.record-detail-title{margin:0;flex:1;min-width:0;font-size:20px;font-weight:600;color:#111827;line-height:1.3}.record-detail-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex-shrink:0;max-width:70%}.record-detail-btn-danger{color:#dc2626}.record-detail-btn-danger:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.record-detail-error{margin:12px 20px 0}.record-detail-body{flex:1;min-height:0;overflow:auto;padding:20px}.record-detail-loading{color:#9ca3af;font-size:13px;margin:0}.record-detail-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 32px;margin:0}.record-detail-field{display:contents}.record-detail-field dt{margin:0;font-size:12px;color:#6b7280;font-weight:500}.record-detail-field dd{margin:4px 0 0;font-size:14px;color:#111827}.record-detail-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#f3f4f6}.record-detail-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#ede9fe;color:#6d28d9;font-size:24px;font-weight:600}.record-detail-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-record-detail{width:min(960px,calc(100vw - 48px));max-height:min(92vh,900px);display:flex;flex-direction:column;background:#fff;border-radius:10px;box-shadow:0 20px 40px #00000026;overflow:hidden}.modal-record-detail .record-detail{height:auto;max-height:min(92vh,900px);border:none;border-radius:0}.modal-backdrop-nested{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100}.entity-form-tabs{margin-top:16px;border-top:1px solid #ececf2;padding-top:12px}.entity-form-tabs-bar{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:12px}.entity-form-tab{border:none;background:transparent;padding:8px 14px;font-size:13px;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.entity-form-tab:hover{color:#374151}.entity-form-tab.active{color:#5b21b6;border-bottom-color:#7c3aed;font-weight:500}.entity-form-tabs-panel{min-height:80px}.reimburse-form{max-width:960px}.reimburse-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.reimburse-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px}.reimburse-form-grid input,.reimburse-form-grid select,.reimburse-form-grid textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.reimburse-form-grid .span-2{grid-column:span 2}.reimburse-form-grid .span-3{grid-column:span 3}.permit-id-form-grid{grid-template-columns:repeat(2,1fr)}.project-update-form-grid{grid-template-columns:1fr;max-width:720px}.project-update-form-grid>label,.project-update-form-grid>.attachment-upload-field{grid-column:1}.project-update-form-grid .span-2,.project-update-form-grid .span-3{grid-column:1}.payment-review-form .entity-form-tabs{margin-top:20px}.payment-detail-form{max-width:1200px}.payment-detail-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.payment-detail-form-grid>label,.payment-detail-form-grid>.attachment-upload-field{min-width:0}.payment-detail-form-grid input:not([type=radio]):not([type=checkbox]),.payment-detail-form-grid select,.payment-detail-form-grid textarea{width:100%;max-width:100%;box-sizing:border-box}.payment-detail-form-grid input:not([type=radio]):not([type=checkbox]),.payment-detail-form-grid select{min-height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-detail-form-grid .readonly-field-value{min-height:36px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-detail-form-grid .attachment-upload-field{min-width:0}.payment-detail-form-grid .attachment-upload-field .attachment-filename{max-width:100%}.payment-detail-form-grid .attachment-field-actions .wb-btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-detail-form-grid .grid-new-row{grid-column:1}.payment-detail-form-grid .span-2{grid-column:span 2}.payment-detail-form-grid .span-3{grid-column:span 3}.payment-detail-form-grid .span-4{grid-column:span 4}.payment-detail-form .entity-form-tabs{margin-top:20px}.crm-customer-form-grid{grid-template-columns:repeat(4,1fr)}.crm-customer-form-grid .span-4{grid-column:span 4}.crm-customer-form-grid .user-field-hint{font-size:12px;color:#6b7280;margin-top:2px}.readonly-field-value{padding:8px 10px;font-size:13px;min-height:20px;line-height:1.4;color:#111827}.reimburse-form-grid input[type=date].date-input{position:relative;min-height:36px;cursor:pointer}.reimburse-form-grid input[type=date].date-input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.reimburse-form-grid input[type=date].date-input-empty:not(:focus)::-webkit-datetime-edit,.reimburse-form-grid input[type=date].date-input-empty:not(:focus)::-webkit-datetime-edit-fields-wrapper{opacity:0}.reimburse-form-grid input[type=date].date-input-empty:focus::-webkit-datetime-edit,.reimburse-form-grid input[type=date].date-input-empty:focus::-webkit-datetime-edit-fields-wrapper,.reimburse-form-grid input[type=date].date-input:not(.date-input-empty)::-webkit-datetime-edit{opacity:1}.attachment-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.attachment-field-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.reimburse-form-grid .field-hint{font-size:12px;color:#9ca3af;margin-top:2px}.reimburse-form-grid .field-label{display:block;line-height:1.4;text-align:left}.reimburse-form-grid .input-with-prefix{display:flex;align-items:stretch}.reimburse-form-grid .input-with-prefix .input-prefix{display:flex;align-items:center;padding:0 10px;border:1px solid #d1d5db;border-right:none;border-radius:6px 0 0 6px;background:#f9fafb;font-size:13px;color:#6b7280}.reimburse-form-grid .input-with-prefix input{flex:1;min-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.form-section-title{margin:16px 0 8px;font-size:15px;font-weight:600;color:#111827;text-align:center}.reimburse-form-grid .required-mark{color:#dc2626;margin-left:2px}.category-radio-group{display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 0}.category-radio-group label{flex-direction:row;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.reimburse-details-table{width:100%;border-collapse:collapse;font-size:13px}.reimburse-details-table th,.reimburse-details-table td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left}.reimburse-details-table th{background:#f9fafb;font-weight:500}.reimburse-details-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.meta-fields-grid{grid-template-columns:repeat(4,1fr)}.architecture-project-form{max-width:1200px}.architecture-project-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.architecture-project-form-grid>label,.architecture-project-form-grid>.attachment-upload-field{min-width:0}.architecture-project-form-grid input:not([type=radio]):not([type=checkbox]),.architecture-project-form-grid select,.architecture-project-form-grid textarea{width:100%;max-width:100%;box-sizing:border-box}.architecture-project-form-grid .grid-new-row{grid-column:1}.architecture-project-form-grid .span-4{grid-column:span 4}.architecture-project-section-title{margin:0 0 4px;font-size:15px;font-weight:600;color:#111827;text-align:center}.architecture-project-form .entity-form-tabs{margin-top:20px}.architecture-project-form .meta-fields-extra{margin-top:12px}.project-schedule-form{max-width:960px}.project-schedule-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.project-schedule-form-grid>label,.project-schedule-form-grid>.attachment-upload-field,.project-schedule-form-grid>.schedule-state-field{min-width:0}.project-schedule-form-grid input:not([type=radio]):not([type=checkbox]),.project-schedule-form-grid select,.project-schedule-form-grid textarea{width:100%;max-width:100%;box-sizing:border-box}.project-schedule-form-grid .ps-span-2{grid-column:span 2}.project-schedule-form-grid .ps-span-3{grid-column:span 3}.project-schedule-form-grid .ps-span-4{grid-column:span 4}.project-schedule-form-grid .ps-span-6{grid-column:span 6}.project-schedule-form-grid .input-with-suffix{display:flex;align-items:stretch}.project-schedule-form-grid .input-with-suffix input{flex:1;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.project-schedule-form-grid .input-with-suffix .input-suffix{display:flex;align-items:center;padding:0 10px;border:1px solid #d1d5db;border-left:none;border-radius:0 6px 6px 0;background:#f9fafb;font-size:13px;color:#6b7280;white-space:nowrap}.project-schedule-form-grid .schedule-state-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.project-schedule-form-grid .schedule-state-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:36px;padding:4px 0}.project-schedule-form-grid .schedule-state-options button{padding:4px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-size:13px;color:#374151;cursor:pointer;line-height:1.4}.project-schedule-form-grid .schedule-state-options button:hover:not(:disabled){border-color:#d1d5db;background:#f9fafb}.project-schedule-form-grid .schedule-state-options button.active{border-color:#f59e0b;background:#fef3c7;color:#92400e}.project-schedule-form-grid .schedule-state-options button:disabled{cursor:default;opacity:.85}.project-schedule-form .entity-form-tabs{margin-top:20px}.cd-sales-completion-form{max-width:1200px}.cd-sales-completion-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cd-sales-completion-form-grid>label,.cd-sales-completion-form-grid>.attachment-upload-field,.cd-sales-completion-form-grid>.span-3{min-width:0}.cd-sales-completion-form-grid input:not([type=radio]):not([type=checkbox]),.cd-sales-completion-form-grid select,.cd-sales-completion-form-grid textarea{width:100%;max-width:100%;box-sizing:border-box}.cd-sales-completion-modal{width:min(1100px,95vw)}@media (max-width: 900px){.reimburse-form-grid,.meta-fields-grid,.payment-detail-form-grid{grid-template-columns:1fr}.reimburse-form-grid .span-2,.reimburse-form-grid .span-3,.payment-detail-form-grid .span-2,.payment-detail-form-grid .span-3,.payment-detail-form-grid .span-4,.crm-customer-form-grid .span-4,.architecture-project-form-grid .span-4{grid-column:span 1}.architecture-project-form-grid,.project-schedule-form-grid{grid-template-columns:1fr}.project-schedule-form-grid .ps-span-2,.project-schedule-form-grid .ps-span-3,.project-schedule-form-grid .ps-span-4,.project-schedule-form-grid .ps-span-6{grid-column:span 1}.crm-customer-form-grid{grid-template-columns:1fr}}.multi-enum-field,.multi-user-field,.attachment-upload-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.field-label{display:block;line-height:1.4;text-align:left}.multi-enum-options{display:flex;flex-wrap:wrap;gap:12px 16px;padding:6px 0}.multi-enum-option{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.multi-enum-option input{margin:0}.multi-user-picker{width:100%}.multi-user-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.multi-user-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f3f4f6;border-radius:4px;font-size:13px}.multi-user-tag button{border:none;background:transparent;cursor:pointer;color:#6b7280;padding:0 2px;line-height:1;font-size:14px}.multi-user-tag button:hover{color:#111827}.attachment-upload-field .attachment-field-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.attachment-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px}.attachment-filename{color:#374151;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-file-row a{color:#2563eb;text-decoration:none}.attachment-file-row a:hover{text-decoration:underline}.wb-btn-ghost{background:transparent;border:1px solid #d1d5db;color:#6b7280}.payment-table-cell-attachment .attachment-files-list{gap:4px}.payment-table-cell-attachment .attachment-file-row{flex-wrap:wrap}.line-log-current-attachment{margin-top:6px}.searchable-select{position:relative;width:100%}.searchable-select-trigger{width:100%;text-align:left;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;cursor:pointer}.searchable-select-dropdown{position:absolute;z-index:1200;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 8px 24px #0000001f;padding:8px}.searchable-select-search{width:100%;box-sizing:border-box;margin-bottom:6px;padding:6px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:13px}.searchable-select-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.searchable-select-list button{width:100%;text-align:left;border:none;background:transparent;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px}.searchable-select-list button:hover,.searchable-select-list button.active{background:#eff6ff}.searchable-select-empty{padding:8px;color:#6b7280;font-size:13px}.message-center-modal{width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);background:#fff;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.message-center-modal h2{margin:0;font-size:18px;flex-shrink:0}.message-center-modal .message-center{flex:1;min-height:0;overflow:hidden}.message-center-modal .message-center-panel{max-height:min(420px,calc(100vh - 200px))}.message-center-modal-footer{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid #e5e7eb;flex-shrink:0}.message-center-modal-footer button{padding:8px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}.profile-modal{width:680px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);background:#fff;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.profile-modal h2{margin:0;font-size:18px;flex-shrink:0}.profile-modal-body{display:flex;gap:16px;min-height:0;flex:1;overflow:hidden}.profile-modal-nav{flex-shrink:0;width:132px;display:flex;flex-direction:column;gap:4px;border-right:1px solid #e5e7eb;padding-right:12px;overflow-y:auto}.profile-nav-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 12px;border:none;border-radius:6px;background:transparent;font-size:13px;color:#374151;cursor:pointer;text-align:left;flex-shrink:0}.profile-nav-label{flex:1;min-width:0;line-height:1.35}.profile-nav-item:hover{background:#f3f4f6}.profile-nav-item.active{background:#eff6ff;color:#2563eb;font-weight:500}.profile-nav-badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}.profile-modal-content{flex:1;min-width:0;overflow-y:auto}.profile-form{display:flex;flex-direction:column;gap:12px}.profile-modal label{display:flex;flex-direction:column;gap:4px;font-size:13px}.profile-readonly span{padding:8px 10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151}.profile-hint{font-size:11px;color:#9ca3af;line-height:1.4}.profile-modal input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px}.profile-error{color:#dc2626;font-size:13px;margin:0}.profile-modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e5e7eb;flex-shrink:0}.profile-modal-footer button{padding:8px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}.message-center{display:flex;flex-direction:column;gap:12px;min-height:280px}.message-center-tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb}.message-center-tab{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:8px 14px;font-size:13px;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.message-center-tab:hover{color:#374151}.message-center-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:500}.message-center-tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}.message-center-panel{flex:1;overflow-y:auto}.message-center-empty{margin:24px 0;text-align:center;color:#9ca3af;font-size:13px}.message-center-hint{margin:0 0 12px;font-size:13px;line-height:1.5;color:#9ca3af}.message-center-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.message-center-item{padding:0;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;overflow:hidden}.message-center-item.is-clickable .message-center-item-body:not(:disabled):hover{background:#f3f4f6}.message-center-item-body{display:block;width:100%;padding:12px;border:none;background:transparent;text-align:left;cursor:default;font:inherit;color:inherit}.message-center-item.is-clickable .message-center-item-body:not(:disabled){cursor:pointer}.message-center-item-body:disabled{cursor:default}.message-center-item-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 12px;border-top:1px solid #e5e7eb;background:#fff}.message-center-action-btn{padding:4px 12px;font-size:12px;border-radius:4px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.message-center-action-btn:disabled{opacity:.6;cursor:not-allowed}.message-center-action-approve{color:#fff;background:#2563eb;border-color:#2563eb}.message-center-action-approve:hover:not(:disabled){background:#1d4ed8}.message-center-action-reject{color:#b91c1c;border-color:#fca5a5}.message-center-action-reject:hover:not(:disabled){background:#fef2f2}.message-center-action-link{color:#2563eb;margin-left:auto}.message-center-action-link:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.message-center-item.is-read{opacity:.75;background:#fff}.message-center-item-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.message-center-item-title{font-size:14px;font-weight:500;color:#111827}.message-center-item-status{font-size:12px;color:#2563eb;background:#eff6ff;padding:2px 8px;border-radius:4px;flex-shrink:0}.message-center-unread-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0}.message-center-item-desc{margin:6px 0 0;font-size:13px;color:#6b7280;line-height:1.5}.message-center-item-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.message-center-item-time{font-size:11px;color:#9ca3af}.message-center-mark-read{padding:4px 10px;font-size:12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#2563eb;cursor:pointer}.message-center-mark-read:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.message-center-mark-read:disabled{opacity:.6;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.modal-actions-right{display:flex;gap:8px}.btn.logout{padding:8px 14px;background:#fff;color:#dc2626;border:1px solid #fecaca;border-radius:6px;cursor:pointer}.btn.logout:hover{background:#fef2f2}.btn.primary{padding:8px 14px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer}.avatar-upload{display:flex;align-items:center;gap:12px}.avatar-upload-actions{display:flex;flex-direction:column;gap:6px}.avatar-upload-actions button{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.avatar-upload-actions button:hover{background:#f9fafb}.avatar-clear{color:#dc2626;border-color:#fecaca!important}.avatar-clear:hover{background:#fef2f2!important}.avatar-preview{width:64px;height:64px;border-radius:50%;background:#e5e7eb;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6b7280}.avatar-preview img{width:100%;height:100%;object-fit:cover}.import-wizard-card{width:min(920px,96vw);max-height:90vh;display:flex;flex-direction:column}.import-wizard-card h2{margin:0 0 4px;font-size:18px}.import-wizard-sub{margin:0 0 16px;font-size:13px;color:#6b7280}.import-wizard-steps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.import-wizard-step{font-size:12px;padding:4px 10px;border-radius:999px;background:#f3f4f6;color:#6b7280}.import-wizard-step.active{background:#ede9fe;color:#6d28d9;font-weight:500}.import-wizard-step.done{background:#ecfdf5;color:#047857}.import-wizard-body{flex:1;min-height:0;overflow:auto;padding-right:4px}.import-entity-group{margin-bottom:16px}.import-entity-group-title{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.import-entity-search{width:100%;margin-bottom:14px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.import-entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.import-entity-card{text-align:left;padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#111827}.import-entity-card:hover{border-color:#c4b5fd;background:#faf5ff}.import-entity-card.selected{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 0 0 1px #7c3aed}.import-file-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-file-name{font-size:13px;color:#374151}.import-mapping-table{width:100%;border-collapse:collapse;font-size:13px}.import-mapping-table th,.import-mapping-table td{border-bottom:1px solid #ececf2;padding:8px 10px;text-align:left;vertical-align:middle}.import-mapping-table th{background:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0;z-index:1}.import-mapping-table select{width:100%;min-width:160px;padding:6px 8px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;background:#fff}.import-group-label{font-size:12px;color:#9ca3af}.import-preview-stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:14px}.import-preview-stats strong{color:#111827}.import-warn-list,.import-error-list{margin:8px 0 0;padding-left:18px;font-size:12px;max-height:180px;overflow:auto}.import-warn-list{color:#b45309}.import-error-list{color:#b91c1c}.import-row-preview{margin-top:12px;font-size:12px;color:#6b7280}.import-row-preview table{width:100%;border-collapse:collapse;margin-top:6px}.import-row-preview th,.import-row-preview td{border:1px solid #ececf2;padding:4px 8px;text-align:left}.crm-customer-related-tab{margin-top:4px}.crm-customer-related-tab .wb-table-wrap{max-height:360px;overflow:auto}.crm-customer-related-tab .wb-error{margin-bottom:8px}.crm-customer-related-tab-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.ps-group-header-row{background:#f5f7fa;cursor:pointer}.ps-group-header-row td{text-align:left;font-weight:600;padding:8px 12px}.ps-group-toggle{display:inline-block;width:1em;margin-right:6px;color:#606266}.crm-customer-picker-modal{width:min(1100px,94vw);max-height:min(88vh,900px);padding:16px 20px 20px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.crm-customer-picker-modal .data-workbench{flex:1;min-height:0;border:1px solid #ececf2}.crm-customer-picker-modal .data-workbench-body{display:flex;flex-direction:column;min-height:0;overflow:auto}.crm-customer-picker-selection-bar{font-size:13px;color:#4b5563;padding:0 2px}.finance-oa-modal{width:min(1100px,96vw)}.finance-oa-form{max-width:100%}.finance-oa-form-header{display:flex;flex-wrap:wrap;gap:16px 24px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#6b7280}.finance-oa-form-header strong{color:#111827;font-weight:600}.finance-oa-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px}.finance-oa-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151;min-width:0}.finance-oa-form-grid .span-2{grid-column:span 2}.finance-oa-form-grid .span-3{grid-column:span 3}.finance-oa-form-grid input,.finance-oa-form-grid select,.finance-oa-form-grid textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;background:#fff}.finance-oa-form-grid input[type=date].date-input{position:relative;min-height:36px;cursor:pointer}.finance-oa-form-grid input[type=date].date-input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.finance-oa-form-grid input[type=date].date-input-empty:not(:focus)::-webkit-datetime-edit,.finance-oa-form-grid input[type=date].date-input-empty:not(:focus)::-webkit-datetime-edit-fields-wrapper{opacity:0}.finance-oa-form-grid input[type=date].date-input-empty:focus::-webkit-datetime-edit,.finance-oa-form-grid input[type=date].date-input-empty:focus::-webkit-datetime-edit-fields-wrapper,.finance-oa-form-grid input[type=date].date-input:not(.date-input-empty)::-webkit-datetime-edit{opacity:1}.finance-oa-form .attachment-upload-field{min-width:0}.finance-oa-form .entity-form-tabs{margin-top:20px}.finance-oa-form-grid textarea{resize:vertical;min-height:36px}.finance-oa-form-grid .field-label{display:block;line-height:1.4;text-align:center}.finance-oa-form-grid .required-mark{color:#dc2626;margin-left:2px}.finance-oa-picker{position:relative;display:flex;align-items:stretch;min-height:36px}.finance-oa-picker-display{flex:1;padding:8px 10px;border:1px solid #d1d5db;border-right:none;border-radius:4px 0 0 4px;background:#fff;font-size:13px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-oa-picker-display.is-placeholder{color:#9ca3af}.finance-oa-picker-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.finance-oa-picker-select:disabled{cursor:not-allowed}.finance-oa-picker-add{display:flex;align-items:center;justify-content:center;width:36px;flex-shrink:0;border:1px solid #d1d5db;border-radius:0 4px 4px 0;background:#f9fafb;color:#6b7280;font-size:18px;line-height:1;pointer-events:none}.finance-oa-picker.is-disabled .finance-oa-picker-display{background:#f3f4f6;color:#6b7280}.finance-oa-upload-box{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;border:1px dashed #d1d5db;border-radius:4px;background:#fafafa;font-size:13px;color:#6b7280;position:relative}.finance-oa-upload-box input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.finance-oa-upload-box.is-disabled{background:#f3f4f6;cursor:default}.finance-oa-upload-box.is-disabled input[type=file]{cursor:not-allowed;pointer-events:none}.finance-oa-upload-link{margin-top:4px;font-size:12px}.finance-oa-status-section{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.finance-oa-status-label{font-size:13px;color:#374151;margin-bottom:10px}.finance-oa-status-bar{display:flex;align-items:stretch;width:100%;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden;background:#f9fafb}.finance-oa-status-step{flex:1;display:flex;align-items:center;min-width:0;position:relative}.finance-oa-status-step-text{flex:1;padding:10px 8px 10px 14px;font-size:12px;color:#6b7280;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-oa-status-step.is-active .finance-oa-status-step-text{background:#eff6ff;color:#1d4ed8;font-weight:600}.finance-oa-status-step.is-past .finance-oa-status-step-text{color:#374151}.finance-oa-status-arrow{flex-shrink:0;width:0;height:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:10px solid #e5e7eb;margin-right:-1px;z-index:1}.finance-oa-status-step.is-active .finance-oa-status-arrow{border-left-color:#eff6ff}.finance-oa-status-step.is-past .finance-oa-status-arrow{border-left-color:#f3f4f6}.finance-oa-status-error{margin:0 0 8px;padding:8px 12px;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.finance-oa-status-step.is-error .finance-oa-status-step-text{background:#fef2f2;color:#b91c1c}.finance-oa-invoice-row{margin-top:14px}.finance-oa-invoice-row label{display:flex;flex-direction:column;gap:6px;font-size:13px}.finance-oa-invoice-row select{max-width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.entity-form-readonly .finance-oa-picker-select{pointer-events:none}@media (max-width: 900px){.finance-oa-form-grid{grid-template-columns:1fr}.finance-oa-form-grid .span-2,.finance-oa-form-grid .span-3{grid-column:span 1}.finance-oa-status-bar{flex-direction:column}.finance-oa-status-arrow{display:none}}.crm-customer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-right:4px}.crm-customer-actions .wb-btn-primary{padding:6px 16px;font-size:13px;font-weight:500;border-radius:6px;white-space:nowrap}.crm-customer-actions .wb-btn-primary:hover:not(:disabled){background:#6d28d9;color:#fff}.crm-customer-claim-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px}.crm-customer-claim-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151}.crm-customer-claim-form select{padding:8px 10px;border:1px solid #d1d5db;border-radius:4px}.customer-quote-status-section{margin-bottom:16px}.customer-quote-status-label{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.customer-quote-status-bar{display:flex;align-items:stretch;flex-wrap:wrap;gap:0}.customer-quote-status-step{display:flex;align-items:stretch}.customer-quote-status-step-text{display:flex;align-items:center;padding:8px 14px;background:#f9fafb;color:#6b7280;font-size:13px;white-space:nowrap}.customer-quote-status-step.is-active .customer-quote-status-step-text{background:#eff6ff;color:#1d4ed8;font-weight:600}.customer-quote-status-step.is-past .customer-quote-status-step-text{color:#374151}.customer-quote-status-arrow{flex-shrink:0;width:0;height:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:10px solid #e5e7eb;margin-right:-1px;z-index:1}.customer-quote-status-step.is-active .customer-quote-status-arrow{border-left-color:#eff6ff}.customer-quote-status-step.is-past .customer-quote-status-arrow{border-left-color:#f3f4f6}.customer-quote-status-error{margin:0 0 8px;padding:8px 12px;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.customer-quote-status-step.is-error .customer-quote-status-step-text{background:#fef2f2;color:#b91c1c}.create-plan-modal{width:min(480px,calc(100vw - 32px))}.create-plan-modal-title{margin:0 0 12px;font-size:18px;font-weight:600}.create-plan-modal-hint{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:10px 12px;background:#f5f7fa;border-radius:6px;color:#606266;font-size:13px}.create-plan-modal-hint-icon{flex-shrink:0}.create-plan-modal-field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.create-plan-modal-field input[type=date]{padding:8px 10px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px}.create-plan-modal-actions{display:flex;justify-content:flex-end;gap:10px}.create-plan-btn-primary,.wb-btn.create-plan-btn-primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.create-plan-btn-primary:hover:not(:disabled),.wb-btn.create-plan-btn-primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.create-plan-btn-primary:before{content:"✓ "}.create-plan-btn-sm{padding:4px 10px;font-size:12px}.col-actions{white-space:nowrap;text-align:center}.ps-schedule-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;min-width:200px}.wb-btn.wb-btn-sm{padding:4px 10px;font-size:12px}.schedule-skip-confirm{text-align:center}.schedule-skip-confirm-text{margin:0 0 12px;font-size:14px;color:#303133}.modal-record-detail.architecture-project-detail-modal{width:calc(100vw - 24px);height:calc(100vh - 24px);max-width:none;max-height:none}.modal-record-detail.architecture-project-detail-modal .record-detail{height:100%;max-height:none;display:flex;flex-direction:column;min-height:0}.architecture-project-detail-modal .record-detail-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.architecture-project-detail-modal .architecture-project-form.reimburse-form{max-width:none;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.architecture-project-detail-modal .architecture-project-form-grid{flex-shrink:0}.architecture-project-detail-modal .architecture-project-form .entity-form-tabs{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:16px}.architecture-project-detail-modal .entity-form-tabs-panel{flex:1;min-height:0;overflow:auto}.modal-card.architecture-project-edit-modal{width:calc(100vw - 48px);max-width:none;height:calc(100vh - 48px);max-height:none;display:flex;flex-direction:column;overflow:hidden}.architecture-project-edit-modal .architecture-project-form{max-width:none;flex:1;min-height:0;overflow:auto}.architecture-project-edit-modal .modal-actions{flex-shrink:0}.modal-record-detail.engineering-payment-detail-modal{width:calc(100vw - 24px);height:calc(100vh - 24px);max-width:none;max-height:none}.modal-record-detail.engineering-payment-detail-modal .record-detail{height:100%;max-height:none;display:flex;flex-direction:column;min-height:0}.engineering-payment-detail-modal .record-detail-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.engineering-payment-detail-modal .payment-review-form.reimburse-form,.engineering-payment-detail-modal .payment-detail-form.reimburse-form{max-width:none;width:100%;display:flex;flex-direction:column;flex:1;min-height:0}.engineering-payment-detail-modal .payment-review-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));flex-shrink:0}.engineering-payment-detail-modal .payment-review-form .entity-form-tabs,.engineering-payment-detail-modal .payment-detail-form .entity-form-tabs{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:16px}.engineering-payment-detail-modal .entity-form-tabs-panel{flex:1;min-height:0;overflow:auto}.payment-detail-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.payment-detail-row-actions .wb-btn{padding:4px 10px;font-size:12px}.payment-review-details-table-wrap{overflow-x:auto}.payment-review-details-table td{vertical-align:top;min-width:88px}.payment-table-cell-display{display:block;min-height:1.25em;word-break:break-word}.payment-table-editable{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px}.payment-table-editable:hover{background:#f3f4f6}.payment-table-inline-field{display:flex;flex-direction:column;gap:4px;min-width:120px}.payment-table-inline-field-attachment{min-width:180px}.payment-table-inline-label{font-size:12px;color:#374151;border-left:3px solid #7c3aed;padding-left:6px;line-height:1.2}.payment-table-inline-input{padding:6px 8px;border:1px solid #7c3aed;border-radius:6px;font-size:13px;width:100%;box-sizing:border-box;outline:none}.payment-table-inline-input:focus{box-shadow:0 0 0 2px #7c3aed26}.payment-table-inline-attachment .field-label{display:none}.payment-table-inline-attachment.attachment-upload-field{gap:4px}.menu-perm-page{padding:20px 24px;height:100%;overflow:auto}.menu-perm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.menu-perm-head h1{margin:0 0 6px;font-size:22px}.menu-perm-head p{margin:0;color:#6b7280;font-size:13px}.menu-perm-user-select{display:flex;flex-direction:column;gap:6px;min-width:220px;font-size:13px}.menu-perm-user-select select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px}.menu-perm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.menu-perm-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-perm-toolbar-label{font-size:13px;color:#6b7280;font-weight:600}.menu-perm-group+.menu-perm-group{margin-top:20px}.menu-perm-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.menu-perm-group-head h2{margin:0;font-size:15px}.menu-perm-group-actions{display:flex;gap:6px;flex-wrap:wrap}.wb-btn-sm{padding:4px 10px;font-size:12px}.menu-perm-table-wrap{background:#fff;border:1px solid #ececf3;border-radius:8px;overflow:auto}.menu-perm-table{width:100%;border-collapse:collapse;font-size:13px}.menu-perm-table th,.menu-perm-table td{padding:10px 12px;border-bottom:1px solid #f0f0f5;text-align:left}.menu-perm-table th{background:#f9fafb;font-weight:600}.menu-perm-table td:not(:first-child):not(:nth-child(2)){text-align:center;width:72px}.menu-perm-empty,.menu-perm-admin-banner{padding:24px;background:#fff;border:1px solid #ececf3;border-radius:8px;color:#6b7280}.menu-perm-admin-banner{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.menu-perm-error{color:#dc2626;margin:0 0 12px}.menu-perm-ok{color:#16a34a;margin:0 0 12px}.dash-page{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:100%;background:#f8f7fc}.dash-layout-with-sidebar{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.dash-sidebar{display:flex;flex-direction:column;gap:12px}.dash-sidebar-filters{padding:14px 16px}.dash-sidebar-filter{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;color:#4b5563}.dash-sidebar-filter:last-child{margin-bottom:0}.dash-sidebar-filter-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-sidebar-filter input,.dash-sidebar-filter select{height:34px;padding:0 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;background:#fff}.dash-sidebar-clear{border:none;background:none;color:#6d28d9;font-size:12px;cursor:pointer;padding:0}.dash-main{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-signing-metrics-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,1.2fr);gap:12px}.dash-signing-charts-row,.dash-signing-pies-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-metric-pink{background:#fce7f3;border-color:#fbcfe8}.dash-metric-yellow{background:#fef9c3;border-color:#fde68a}.dash-metric-green{background:#dcfce7;border-color:#bbf7d0}.dash-metric-blue{background:#dbeafe;border-color:#bfdbfe}.dash-metric-pink .dash-metric-value,.dash-metric-yellow .dash-metric-value,.dash-metric-green .dash-metric-value,.dash-metric-blue .dash-metric-value{color:#111827}.dash-progress-combined{padding:0;overflow:hidden}.dash-progress-combined-title{margin:0;padding:10px 14px;font-size:13px;font-weight:600;color:#fff;background:#dc2626}.dash-progress-combined-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}.dash-progress-item .dash-progress-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px;color:#374151}.dash-progress-item .dash-progress-track{height:8px;background:#fee2e2;border-radius:999px;overflow:hidden}.dash-progress-item .dash-progress-fill{height:100%;background:#ef4444}.dash-signing-stats{padding:14px 16px}.dash-signing-stats-wrap{overflow:auto}.dash-signing-stats-table{width:100%;border-collapse:collapse;font-size:13px}.dash-signing-stats-table th,.dash-signing-stats-table td{padding:10px 12px;border-bottom:1px solid #f0f0f5;text-align:left}.dash-signing-stats-table th{color:#6b7280;font-weight:600;background:#fafafa}.dash-signing-count-cell{display:flex;align-items:center;gap:10px;min-width:120px}.dash-signing-count-cell>span{min-width:16px}.dash-signing-count-bar-track{flex:1;height:8px;background:#dcfce7;border-radius:999px;overflow:hidden}.dash-signing-count-bar-fill{height:100%;background:#22c55e;border-radius:999px}.dash-signing-stats-total td{font-weight:700;color:#111827;border-top:1px solid #e5e7eb}.dash-customer-metrics-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) minmax(140px,.9fr);gap:12px;align-items:stretch}.dash-customer-metrics-side{display:flex;flex-direction:column;gap:12px}.dash-metric-highlight-red{background:#dc2626;border-color:#b91c1c;color:#fff}.dash-metric-highlight-red .dash-metric-label,.dash-metric-highlight-red .dash-metric-value{color:#fff}.dash-metric-large .dash-metric-value{font-size:42px;line-height:1.1}.dash-metric-large .dash-metric-label{font-size:14px}.dash-customer-donuts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-donut-card{padding:0;overflow:hidden}.dash-donut-card-title{margin:0;padding:10px 14px;font-size:13px;font-weight:600;color:#fff}.dash-donut-header-red .dash-donut-card-title{background:#dc2626}.dash-donut-header-purple .dash-donut-card-title{background:#6d28d9}.dash-donut-card-body{padding:8px 12px 12px}.dash-channel-conversion{padding:14px 16px}.dash-channel-conversion-wrap{overflow:auto}.dash-channel-conversion-table{width:100%;border-collapse:collapse;font-size:13px}.dash-channel-conversion-table th,.dash-channel-conversion-table td{padding:10px 12px;border-bottom:1px solid #f0f0f5;text-align:left;white-space:nowrap}.dash-channel-conversion-table th{color:#fff;font-weight:600;background:#374151}.dash-channel-row-red td{background:#fecaca}.dash-channel-row-blue td{background:#dbeafe}.dash-channel-row-total td{font-weight:700;background:#f3f4f6;border-top:1px solid #d1d5db}.dash-customer-marketing-row{display:grid;grid-template-columns:1fr}.dash-title{margin:0;font-size:22px;font-weight:700;color:#111827}.dash-signing-page .dash-title{padding:16px 20px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#5c1a2e,#7c2d4a 45%,#4a1942);box-shadow:0 2px 8px #5c1a2e40}.dash-callback-page .dash-title{padding:16px 20px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#312e81,#4c1d95,#5b21b6);box-shadow:0 2px 8px #4c1d9540}.dash-callback-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(200px,280px) minmax(240px,1fr);gap:12px;align-items:start}.dash-callback-search-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.dash-callback-search-row .dash-filter-actions{grid-column:1 / -1}.dash-callback-todo-card{padding:12px 14px}.dash-callback-todo-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.dash-callback-todo-list li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:6px 0;font-size:12px;border-bottom:1px solid #f3f4f6}.dash-callback-todo-list li.is-done .dash-callback-todo-label{color:#9ca3af;text-decoration:line-through}.dash-callback-todo-dot{width:8px;height:8px;border-radius:50%;background:#6d28d9}.dash-callback-todo-dot.tone-0{background:#7c3aed}.dash-callback-todo-dot.tone-1{background:#2563eb}.dash-callback-todo-dot.tone-2{background:#ea580c}.dash-callback-todo-dot.tone-3{background:#16a34a}.dash-callback-todo-dot.tone-4{background:#dc2626}.dash-callback-todo-dot.tone-5{background:#db2777}.dash-callback-progress-card{padding:12px 14px}.dash-callback-progress-grid{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}.dash-callback-panel{padding:0;overflow:hidden}.dash-callback-panel-head{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#fff}.dash-callback-panel-head h3{margin:0;flex:1;font-size:15px;font-weight:600}.dash-callback-panel-count{font-size:12px;opacity:.9}.dash-callback-panel-head-purple{background:#6d28d9}.dash-callback-panel-head-green{background:#15803d}.dash-callback-panel-head-olive{background:#65a30d}.dash-callback-panel-head-grey{background:#4b5563}.dash-callback-panel-head-blue{background:#2563eb}.dash-callback-panel-table{font-size:13px}.dash-callback-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.dash-callback-status-default{background:#ede9fe;color:#5b21b6}.dash-callback-status-success{background:#dcfce7;color:#15803d}.dash-callback-status-warning{background:#ffedd5;color:#c2410c}.dash-callback-status-danger{background:#fee2e2;color:#b91c1c}.dash-callback-intent-high{color:#dc2626;font-weight:600}.dash-callback-intent-mid{color:#ca8a04;font-weight:600}.dash-callback-intent-low{color:#6b7280}.dash-callback-intent-none{color:#9ca3af}.dash-callback-more{margin-top:4px}.dash-callback-more summary{cursor:pointer;font-size:13px;color:#6d28d9;padding:8px 0}.dash-callback-more-body{display:flex;flex-direction:column;gap:12px}@media (max-width: 1100px){.dash-callback-top{grid-template-columns:1fr}.dash-callback-search-row{grid-template-columns:1fr 1fr}}.dash-dept-admin-page .dash-title{padding:16px 20px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1e3a5f,#2563eb 55%,#3b82f6);box-shadow:0 2px 8px #2563eb40}.dash-dept-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dash-dept-shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:16px;border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #00000014}.dash-dept-shortcut-purple{background:linear-gradient(135deg,#6d28d9,#7c3aed)}.dash-dept-shortcut-orange{background:linear-gradient(135deg,#ea580c,#f97316)}.dash-dept-shortcut-green{background:linear-gradient(135deg,#15803d,#22c55e)}.dash-dept-shortcut-icon{font-size:28px;line-height:1}.dash-dept-filter-card{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px}.dash-dept-filter{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4b5563}.dash-dept-filter input,.dash-dept-filter select{height:34px;min-width:180px;padding:0 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.dash-dept-donuts-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-dept-complete-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.dash-dept-complete-badge.is-done{background:#dcfce7;color:#15803d}.dash-dept-complete-badge.is-pending{background:#ffedd5;color:#c2410c}.dash-dept-dept-logs{padding:0;overflow:hidden}.dash-dept-dept-logs-body{padding:0 0 12px}.dash-dept-user-group{border-bottom:1px solid #f0f0f5}.dash-dept-user-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:#fafafa;text-align:left;cursor:pointer;font-size:14px}.dash-dept-user-group-head:hover{background:#f5f3ff}.dash-dept-group-toggle{color:#6d28d9;width:16px}.dash-dept-user-name{font-weight:600;color:#111827}.dash-dept-user-meta{margin-left:auto;font-size:12px;color:#9ca3af}.dash-dept-day-block{padding:0 16px 12px 42px}.dash-dept-day-label{font-size:13px;font-weight:600;color:#6d28d9;padding:8px 0}@media (max-width: 900px){.dash-dept-shortcuts,.dash-dept-donuts-row{grid-template-columns:1fr}}.dash-pwc-page .dash-title{padding:0;background:none;box-shadow:none;color:#111827;font-size:24px}.dash-pwc-tip-banner{padding:14px 18px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;font-size:13px;color:#9a3412;line-height:1.6}.dash-pwc-tip-banner strong{display:block;margin-bottom:6px;font-size:14px}.dash-pwc-tip-banner p{margin:0 0 4px}.dash-pwc-shortcut-teal{background:linear-gradient(135deg,#0d9488,#14b8a6)}.dash-pwc-done-section{padding:0;overflow:hidden}.dash-pwc-done-body{padding-bottom:8px}.dash-pwc-date-group{border-bottom:1px solid #f0f0f5}.dash-pwc-date-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:#fafafa;font-size:14px;font-weight:600;color:#15803d;cursor:pointer;text-align:left}.dash-pwc-user-chip{display:inline-flex;align-items:center;gap:6px}.dash-pwc-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#22c55e;color:#fff;font-size:10px;font-weight:600}.dash-pwc-msg-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.dash-pwc-msg-status.is-unconfirmed,.dash-pwc-msg-status.is-confirmed{background:#ffedd5;color:#c2410c}.dash-pwc-type-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:#ede9fe;color:#5b21b6;font-size:12px}.dash-pwc-detail-link{border:none;background:none;padding:0;color:#2563eb;font-size:13px;cursor:pointer;text-align:left;text-decoration:underline}.dash-pwc-action-btn{height:28px;padding:0 12px;border:none;border-radius:6px;background:#2563eb;color:#fff;font-size:12px;cursor:pointer}.dash-pwc-action-btn:disabled{opacity:.6;cursor:not-allowed}.dash-eng-pay-page .dash-title{padding:16px 20px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#14532d,#15803d 45%,#22c55e);box-shadow:0 2px 8px #15803d40}.dash-eng-pay-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.dash-eng-pay-filters .dash-filter-actions{grid-column:1 / -1}.dash-eng-pay-metrics-top{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr) minmax(200px,260px);gap:12px;align-items:stretch}.dash-eng-pay-status-col{display:flex;flex-direction:column;gap:10px}.dash-eng-pay-main-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-eng-pay-collection-card{padding:14px 16px}.dash-eng-pay-collection-title{margin:0 0 12px;padding:8px 12px;font-size:14px;font-weight:600;color:#fff;background:#dc2626;border-radius:6px}.dash-eng-pay-collection-list{list-style:none;margin:0;padding:0;font-size:13px;color:#374151}.dash-eng-pay-collection-list li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f3f4f6}.dash-eng-pay-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dash-eng-pay-dot-red{background:#ef4444}.dash-eng-pay-dot-yellow{background:#eab308}.dash-eng-pay-dot-green{background:#22c55e}.dash-eng-pay-total-card{padding:14px 16px}.dash-eng-pay-total-value{margin:0 0 8px;font-size:22px;font-weight:700;color:#111827}.dash-eng-pay-total-card .dash-chart-card .dash-widget-subtitle:empty{display:none}@media (max-width: 1100px){.dash-eng-pay-metrics-top{grid-template-columns:1fr}.dash-eng-pay-filters{grid-template-columns:1fr 1fr}}.dash-dwo-page .dash-title{padding:16px 20px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#7f1d1d,#dc2626 45%,#f97316);box-shadow:0 2px 8px #dc262640}.dash-dwo-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.dash-dwo-filters .dash-filter-actions{grid-column:1 / -1}.dash-dwo-top-row{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr) minmax(200px,240px);gap:12px;align-items:stretch}.dash-dwo-metrics-mini{display:flex;flex-direction:column;gap:10px}.dash-dwo-production-card{padding:14px 16px}.dash-dwo-production-list{list-style:none;margin:0;padding:0;font-size:13px}.dash-dwo-production-list li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}.dash-dwo-prod-dot{width:10px;height:10px;border-radius:50%}.dash-dwo-prod-dot-assign{background:#22c55e}.dash-dwo-prod-dot-design{background:#eab308}.dash-dwo-prod-dot-revise{background:#a855f7}.dash-dwo-prod-dot-done{background:#3b82f6}.dash-dwo-prod-dot-overdue{background:#ef4444}.dash-dwo-prod-count{font-weight:600;color:#111827}.dash-dwo-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.dash-dwo-status-assign{background:#dcfce7;color:#15803d}.dash-dwo-status-design{background:#fef9c3;color:#a16207}.dash-dwo-status-done{background:#dbeafe;color:#1d4ed8}.dash-dwo-status-revise{background:#f3e8ff;color:#7c3aed}.dash-dwo-status-overdue{background:#ffedd5;color:#c2410c}.dash-dwo-status-default{background:#f3f4f6;color:#4b5563}@media (max-width: 1100px){.dash-dwo-top-row{grid-template-columns:1fr}.dash-dwo-filters{grid-template-columns:1fr 1fr}}.dash-widget{background:#fff;border:1px solid #ececf3;border-radius:10px}.dash-widget-subtitle{margin:0 0 12px;font-size:15px;font-weight:600;color:#374151}.dash-filter-card{padding:14px 16px}.dash-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.dash-filter-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4b5563}.dash-filter-field input,.dash-filter-field select{height:34px;padding:0 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.dash-filter-actions{display:flex;gap:8px}.dash-filter-btn{height:34px;padding:0 14px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.dash-filter-btn-primary{background:#6d28d9;border-color:#6d28d9;color:#fff}.dash-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-metric{padding:14px 16px}.dash-metric-clickable{width:100%;text-align:left;cursor:pointer;border:1px solid #ececf3}.dash-metric-clickable:hover{border-color:#c4b5fd;background:#faf5ff}.dash-metric-label{font-size:13px;color:#6b7280;margin-bottom:8px}.dash-metric-value{font-size:22px;font-weight:700;color:#2563eb}.dash-charts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dash-chart-card,.dash-grid-card{padding:14px 16px}.dash-grid-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-grid-total{font-size:12px;color:#6b7280}.dash-grid-wrap{overflow:auto}.dash-grid-table{width:100%;border-collapse:collapse;font-size:13px}.dash-grid-table th,.dash-grid-table td{padding:10px 12px;border-bottom:1px solid #f0f0f5;text-align:left;white-space:nowrap}.dash-grid-table th{color:#6b7280;font-weight:600;background:#fafafa}.dash-grid-row-clickable{cursor:pointer}.dash-grid-row-clickable:hover{background:#faf5ff}.dash-pivot-card,.dash-calendar-list,.dash-quick-form,.dash-progress{padding:14px 16px}.dash-pivot-table{width:100%;border-collapse:collapse;font-size:13px}.dash-pivot-table th,.dash-pivot-table td{padding:8px 10px;border-bottom:1px solid #f0f0f5;text-align:left}.dash-calendar-list ul{list-style:none;margin:0;padding:0}.dash-calendar-list li{display:grid;grid-template-columns:110px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.dash-calendar-date{color:#6b7280}.dash-calendar-value{color:#2563eb;font-weight:600}.dash-shortcut-btn{padding:10px 14px;text-align:left;cursor:pointer;color:#6d28d9;font-size:13px}.dash-quick-form-submit{margin-top:10px;height:34px;padding:0 14px;border:none;border-radius:6px;background:#6d28d9;color:#fff;cursor:pointer}.dash-progress-head{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.dash-progress-track{height:8px;background:#ede9fe;border-radius:999px;overflow:hidden}.dash-progress-fill{height:100%;background:#6d28d9}.dash-empty{color:#9ca3af;font-size:13px;text-align:center;padding:24px 12px}.dash-error{color:#dc2626;font-size:13px}.dash-loading{color:#6b7280;font-size:13px}.dash-placeholder{padding:48px 24px;text-align:center}.dash-placeholder-icon{font-size:40px;margin-bottom:12px}.dash-placeholder-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#374151}.dash-placeholder-text{margin:0;font-size:14px;color:#6b7280}@media (max-width: 1200px){.dash-layout-with-sidebar{grid-template-columns:1fr}.dash-signing-metrics-row,.dash-customer-metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-customer-donuts-grid{grid-template-columns:1fr}.dash-metrics-grid,.dash-charts-grid,.dash-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.dash-signing-metrics-row,.dash-signing-charts-row,.dash-signing-pies-row,.dash-customer-metrics-row,.dash-customer-donuts-grid,.dash-metrics-grid,.dash-charts-grid,.dash-filter-grid{grid-template-columns:1fr}}.dash-todo-page .dash-title{margin-bottom:0}.dash-todo-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:16px;align-items:start}.dash-todo-sidebar{min-width:0}.dash-todo-add-card{padding:14px 16px}.dash-todo-batch-btn{width:100%;height:36px;margin-bottom:12px;border:none;border-radius:6px;background:#6d28d9;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.dash-todo-batch-btn:hover{background:#5b21b6}.dash-todo-add-form .reimburse-form-grid{display:flex;flex-direction:column;gap:10px}.dash-todo-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.dash-todo-btn-primary,.dash-todo-btn-secondary{height:34px;padding:0 16px;border-radius:6px;font-size:13px;cursor:pointer}.dash-todo-btn-primary{border:none;background:#6d28d9;color:#fff}.dash-todo-btn-primary:disabled{opacity:.6;cursor:not-allowed}.dash-todo-btn-secondary{border:1px solid #e5e7eb;background:#fff;color:#4b5563}.dash-todo-main{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-todo-hint{margin:0;font-size:12px;color:#6b7280}.dash-todo-link{margin-left:6px;border:none;background:none;color:#6d28d9;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.dash-todo-calendar-card{padding:14px 16px}.dash-todo-calendar-body{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.todo-calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.todo-calendar-month{flex:1;text-align:center;font-size:15px;font-weight:600;color:#111827}.todo-calendar-nav,.todo-calendar-today{height:30px;padding:0 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:13px;color:#374151;cursor:pointer}.todo-calendar-nav{width:32px;padding:0}.todo-calendar-today{margin-left:auto}.todo-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.todo-calendar-weekday{text-align:center;font-size:12px;color:#9ca3af;font-weight:500}.todo-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.todo-calendar-day{aspect-ratio:1;min-height:36px;border:1px solid transparent;border-radius:6px;background:#fff;font-size:13px;color:#374151;cursor:pointer}.todo-calendar-day-empty{cursor:default;background:transparent;border:none}.todo-calendar-day.is-today{font-weight:700}.todo-calendar-day.is-selected{border-color:#6d28d9;color:#6d28d9;font-weight:600}.todo-calendar-day.has-tasks:not(.is-selected){background:#f5f3ff}.todo-calendar-day:hover:not(.todo-calendar-day-empty){background:#ede9fe}.dash-todo-day-panel{min-height:200px;border-left:1px solid #f0f0f5;padding-left:16px}.dash-todo-day-list{list-style:none;margin:0;padding:0}.dash-todo-day-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;width:100%;padding:10px 0;border:none;border-bottom:1px solid #f3f4f6;background:none;text-align:left;cursor:pointer;font-size:13px}.dash-todo-day-item:hover{background:#faf5ff}.dash-todo-day-task{color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-todo-day-user{color:#9ca3af;font-size:12px}.todo-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.todo-status-wip{background:#ffedd5;color:#c2410c}.todo-status-done{background:#dcfce7;color:#15803d}.todo-status-overdue{background:#fef9c3;color:#a16207}.todo-name-chip{display:inline-block;padding:2px 8px;border-radius:4px;background:#f3f4f6;font-size:12px;color:#374151}.todo-task-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-account-cell{display:inline-flex;align-items:center;gap:8px}.todo-account-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#22c55e;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.todo-account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1100px){.dash-todo-layout,.dash-todo-calendar-body{grid-template-columns:1fr}.dash-todo-day-panel{border-left:none;padding-left:0;border-top:1px solid #f0f0f5;padding-top:16px}}.dash-dd-page .dash-title{background:linear-gradient(90deg,#7c3aed,#a78bfa);color:#fff;padding:14px 20px;border-radius:10px}.dash-dd-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.dash-dd-filters .dash-filter-actions{grid-column:1 / -1}.dash-dd-top-row{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr) minmax(200px,260px);gap:12px;align-items:stretch}.dash-dd-profiles{display:flex;flex-direction:column;gap:10px}.dash-dd-profile-card{display:flex;gap:10px;padding:12px;border:1px solid #ececf3;border-radius:10px;background:#fff}.dash-dd-profile-avatar{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,#6d28d9,#a78bfa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.dash-dd-profile-meta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#6b7280}.dash-dd-profile-meta strong{color:#111827;font-size:14px}.dash-dd-profile-tag{color:#7c3aed;font-weight:500}.dash-dd-metrics-block{display:flex;flex-direction:column;gap:10px}.dash-dd-task-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dash-dd-project-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-dd-mid-row{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(180px,220px);gap:12px;align-items:stretch}.dash-dd-purple-head{color:#fff;background:linear-gradient(90deg,#6d28d9,#8b5cf6);margin:-14px -16px 12px;padding:10px 14px;border-radius:10px 10px 0 0}.dash-dd-attention-card,.dash-dd-arch-stats-card{padding:14px 16px;overflow:hidden}.dash-dd-attention-list{list-style:none;margin:0;padding:0}.dash-dd-attention-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.dash-dd-attention-badge{min-width:28px;height:28px;border-radius:50%;background:#ef4444;color:#fff;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.dash-dd-arch-total{margin:0 0 10px;font-size:14px;color:#374151}.dash-dd-arch-stats-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}.dash-dd-arch-stats-list li{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px dashed #f0f0f5}.dash-dd-arch-count{font-weight:600;color:#6d28d9}.dash-dd-schedule-card .dash-dd-purple-head{margin-bottom:0}.dash-dd-schedule-state{font-size:11px;padding:2px 6px;border-radius:4px;background:#ede9fe;color:#5b21b6;flex-shrink:0}.dash-dd-schedule-state.is-done{background:#dcfce7;color:#15803d}.dash-dd-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.dash-dd-status-done{background:#dcfce7;color:#15803d}.dash-dd-status-working{background:#ffedd5;color:#c2410c}.dash-dd-status-not_started{background:#dbeafe;color:#1d4ed8}.dash-dd-status-overdue{background:#ffedd5;color:#c2410c}.dash-dd-status-default{background:#f3f4f6;color:#4b5563}.dash-dd-payment-section{display:flex;flex-direction:column;gap:0}.dash-dd-payment-tabs{display:flex;gap:0;margin-bottom:-1px;z-index:1}.dash-dd-payment-tabs button{padding:8px 16px;border:1px solid #ececf3;border-bottom:none;background:#f9fafb;border-radius:8px 8px 0 0;font-size:13px;cursor:pointer;color:#4b5563}.dash-dd-payment-tabs button.is-active{background:#fff;color:#6d28d9;font-weight:600;border-color:#c4b5fd}@media (max-width: 1100px){.dash-dd-top-row,.dash-dd-mid-row,.dash-dd-filters,.dash-dd-task-metrics{grid-template-columns:1fr}}.dash-home-nav-page-title{margin:0 0 16px;font-size:20px;font-weight:700;color:#111827}.dash-home-nav-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}.dash-home-nav-left{display:flex;flex-direction:column;gap:16px}.dash-home-nav-block{background:#fff;border:1px solid #ececf3;border-radius:10px;overflow:hidden}.dash-home-nav-block-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#4b5563;color:#fff}.dash-home-nav-block-head h3{margin:0;font-size:15px;font-weight:600}.dash-home-nav-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}.dash-home-nav-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:12px 8px;border:none;border-radius:8px;cursor:pointer;color:#fff;text-align:center;transition:filter .15s,transform .15s}.dash-home-nav-tile:hover{filter:brightness(1.08);transform:translateY(-1px)}.dash-home-nav-tile-icon{font-size:28px;line-height:1}.dash-home-nav-tile-label{font-size:12px;line-height:1.35;font-weight:500}.dash-home-nav-tile-grey{background:#6b7280}.dash-home-nav-tile-purple{background:#7c3aed}.dash-home-nav-tile-green{background:#16a34a}.dash-home-nav-tile-blue{background:#0ea5e9}.dash-home-nav-tile-magenta{background:#db2777}.dash-home-nav-tile-red{background:#dc2626}.dash-home-nav-feedback{background:#fff;border:1px solid #ececf3;border-radius:10px;overflow:hidden}.dash-home-nav-feedback-head{padding:12px 16px;background:#f97316;color:#fff;font-size:15px;font-weight:600}.dash-home-nav-feedback-form{padding:16px;display:flex;flex-direction:column;gap:12px}.dash-home-nav-feedback-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151}.dash-home-nav-feedback-form label em{color:#ef4444;font-style:normal}.dash-home-nav-feedback-form input,.dash-home-nav-feedback-form textarea{border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-size:14px;font-family:inherit}.dash-home-nav-feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.dash-home-nav-ok{margin:0;font-size:13px;color:#15803d}.dash-home-nav-error{margin:0;font-size:13px;color:#dc2626}.dash-home-nav-tasks-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.dash-home-nav-task-panel{background:#fff;border:1px solid #ececf3;border-radius:10px;overflow:hidden;min-height:220px}.dash-home-nav-task-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#fef08a;border-bottom:1px solid #fde047}.dash-home-nav-task-head h3{margin:0;font-size:15px;font-weight:600;color:#111827}.dash-home-nav-task-tabs{display:flex;flex-wrap:wrap;gap:4px}.dash-home-nav-task-tabs button{border:none;background:transparent;padding:4px 8px;font-size:12px;color:#4b5563;cursor:pointer;border-radius:4px}.dash-home-nav-task-tabs button.is-active{background:#fff;color:#111827;font-weight:600;box-shadow:0 1px 2px #00000014}.dash-home-nav-task-body{padding:8px 0;max-height:320px;overflow-y:auto}.dash-home-nav-task-list{list-style:none;margin:0;padding:0}.dash-home-nav-task-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto 24px;gap:8px;align-items:center;width:100%;padding:10px 12px;border:none;border-bottom:1px solid #f3f4f6;background:transparent;text-align:left;cursor:pointer}.dash-home-nav-task-item:disabled{cursor:default;opacity:.85}.dash-home-nav-task-item:not(:disabled):hover{background:#f9fafb}.dash-home-nav-task-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff}.dash-home-nav-task-icon-todo,.dash-home-nav-task-icon-flow{background:#3b82f6}.dash-home-nav-task-icon-log{background:#22c55e}.dash-home-nav-task-main{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-home-nav-task-main strong{font-size:13px;color:#111827;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-home-nav-task-desc{font-size:12px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-home-nav-task-main time{font-size:11px;color:#9ca3af}.dash-home-nav-task-status{font-size:12px;color:#6b7280;white-space:nowrap}.dash-home-nav-task-open{color:#7c3aed;font-size:16px}@media (max-width: 1100px){.dash-home-nav-layout{grid-template-columns:1fr}.dash-home-nav-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-home-nav-tasks-row{grid-template-columns:1fr}}.ui-home-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;color:#6b7280}.ui-home-welcome h1{margin:0 0 8px;font-size:20px;font-weight:600;color:#111827}.ui-home-welcome p{margin:0;font-size:14px}.workflow-overview{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;border-radius:8px;border:1px solid #e8e8ef;padding:16px}.workflow-overview-header{margin-bottom:16px}.workflow-overview-title{margin:0;font-size:18px;font-weight:600;color:#111827}.workflow-overview-subtitle{margin:4px 0 0;font-size:13px;color:#6b7280}.workflow-overview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.workflow-overview-search{flex:1;min-width:180px;max-width:320px;height:32px;padding:0 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.workflow-overview-select,.workflow-overview-date{height:32px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.workflow-overview-date-sep{color:#9ca3af;font-size:12px}.workflow-overview-error{margin:0 0 12px;color:#dc2626;font-size:13px}.workflow-overview-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #ececf2;border-radius:6px}.workflow-overview-table{width:100%;border-collapse:collapse;font-size:13px}.workflow-overview-table th{position:sticky;top:0;background:#f9fafb;padding:10px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #ececf2;white-space:nowrap}.workflow-overview-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}.workflow-overview-row{cursor:pointer}.workflow-overview-row:hover{background:#f5f3ff}.workflow-overview-empty{text-align:center;color:#9ca3af;padding:32px!important}.workflow-overview-type-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:12px;white-space:nowrap}.workflow-overview-title-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-overview-approver-error{color:#b91c1c;font-size:12px}.ui-folder-menu{padding:4px 0 8px}.ui-folder-group+.ui-folder-group{margin-top:2px}.ui-folder-header{display:flex;align-items:center;gap:4px;width:calc(100% - 16px);margin:0 8px;padding:7px 8px;border:none;border-radius:6px;background:transparent;color:#374151;font-size:13px;text-align:left;cursor:pointer}.ui-folder-header:hover{background:#f3f4f6}.ui-folder-header.open{color:#5b21b6}.ui-folder-chevron{flex-shrink:0;color:#9ca3af;transition:transform .15s ease}.ui-folder-chevron.open{transform:rotate(90deg)}.ui-folder-icon{flex-shrink:0;color:#7c3aed}.ui-folder-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-folder-children{padding:2px 0 4px 12px}.ui-folder-children .ui-menu-link{margin-left:16px;margin-right:8px}.ui-folder-empty{margin:0 8px 4px 36px;padding:4px 8px;font-size:12px;color:#9ca3af}.workflow-flow-sider{padding:8px}.workflow-flow-sider-title{margin:4px 8px 8px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.workflow-flow-sider-item{display:block;width:100%;margin:2px 0;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:#374151;font-size:13px;text-align:left;cursor:pointer}.workflow-flow-sider-item:hover{background:#f3f4f6}.workflow-flow-sider-item.active{background:#ede9fe;color:#5b21b6;font-weight:500}.ui-sider-tabs{display:flex;width:100%;flex-shrink:0;border-bottom:1px solid #e8e8ef}.ui-sider-tab{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;height:44px;padding:0;border:none;background:transparent;color:#6d28d9;cursor:pointer;position:relative;transition:background .15s}.ui-sider-tab:hover{background:#f5f3ff}.ui-sider-tab.active{color:#5b21b6}.ui-sider-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#7c3aed}.ui-dashboard-menu{padding-top:8px}.ui-dashboard-section-label{padding:4px 16px 8px;font-size:12px;color:#9ca3af}.ui-dashboard-link{display:flex;align-items:center;gap:8px;margin:0 8px 4px;padding:8px 10px;border-radius:6px;color:#374151;text-decoration:none;font-size:13px}.ui-dashboard-link:hover{background:#f3f4f6}.ui-dashboard-link.active{background:#ede9fe;color:#6d28d9;font-weight:600}.ui-dashboard-icon{width:18px;text-align:center}.ui-dashboard-label{min-width:0}.ui-home-menu{padding-top:4px}.ui-home-section+.ui-home-section{margin-top:8px}.ui-home-nav-link{display:flex;align-items:center;gap:8px;width:calc(100% - 16px);margin:2px 8px;padding:8px 12px;border:none;border-radius:6px;background:none;color:#374151;font-size:13px;text-align:left;cursor:pointer}.ui-home-nav-link:hover{background:#f3f4f6}.ui-home-nav-link.active{background:#7c3aed;color:#fff}.ui-home-nav-link-dashboard.active{background:#ede9fe;color:#6d28d9;font-weight:600}.ui-home-nav-link.active .ui-menu-icon,.ui-home-nav-link-dashboard.active .ui-dashboard-icon{opacity:1}.ui-layout{display:flex;flex-direction:column;height:100vh;background:#f4f5f8;overflow:hidden}.ui-topbar{height:48px;background:#fff;border-bottom:1px solid #e8e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;z-index:10}.ui-topbar-left{display:flex;align-items:center}.ui-brand{font-size:15px;font-weight:600;color:#111827}.ui-brand em{font-style:normal;color:#6b7280;font-weight:400}.ui-topbar-right{display:flex;align-items:center;gap:8px}.ui-topbar-message{position:relative;width:32px;height:32px;border:none;background:none;color:#4b5563;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px}.ui-topbar-message:hover:not(:disabled){background:#f3f4f6;color:#111827}.ui-topbar-message:disabled{opacity:.5;cursor:not-allowed}.ui-topbar-message svg{width:20px;height:20px}.ui-topbar-message-badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center;pointer-events:none}.ui-topbar-avatar{width:32px;height:32px;border-radius:50%;border:none;background:#7c3aed;color:#fff;font-size:13px;font-weight:600;cursor:pointer;overflow:hidden;padding:0}.ui-topbar-avatar img{width:100%;height:100%;object-fit:cover}.ui-body{flex:1;display:flex;min-height:0}.ui-sider{--ui-sider-width: 240px;width:var(--ui-sider-width);background:#fff;border-right:1px solid #e8e8ef;display:flex;flex-direction:column;flex-shrink:0}.ui-sider-menu{flex:1;overflow-y:auto;padding:8px 0}.ui-sider-menu-placeholder{margin:16px;font-size:12px;color:#9ca3af;text-align:center}.ui-menu-link{display:flex;align-items:center;gap:8px;margin:2px 8px;padding:8px 12px;border-radius:6px;color:#374151;text-decoration:none;font-size:13px}.ui-menu-link:hover{background:#f3f4f6}.ui-menu-link.active{background:#7c3aed;color:#fff}.ui-menu-link-placeholder{opacity:.55}.ui-menu-icon{font-size:14px;line-height:1;opacity:.85}.ui-menu-link.active .ui-menu-icon{opacity:1}.ui-sider-footer{padding:12px 16px;border-top:1px solid #ececf2;display:flex;gap:12px}.ui-sider-footer-link{border:none;background:none;font-size:12px;color:#9ca3af;cursor:pointer;padding:0}.ui-sider-footer-link:hover{color:#6d28d9}.ui-content{flex:1;min-width:0;min-height:0;padding:12px;display:flex;flex-direction:column}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}
