@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #eef2ff;--color-sidebar-bg: #0f172a;--color-sidebar-width: 250px;--color-header-bg: #ffffff;--color-body-bg: #f8fafc;--color-card-bg: #ffffff;--color-text-main: #0f172a;--color-text-muted: #64748b;--color-border-main: #e2e8f0;--shadow-card: 0 4px 20px -2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .03);--shadow-dropdown: 0 12px 30px -4px rgba(15, 23, 42, .12), 0 4px 12px -2px rgba(15, 23, 42, .06);--radius-card: 14px;--transition: .22s cubic-bezier(.16, 1, .3, 1)}html.dark,[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: rgba(99, 102, 241, .16);--color-sidebar-bg: #090d16;--color-header-bg: #0f172a;--color-body-bg: #060911;--color-card-bg: #0f172a;--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-border-main: rgba(255, 255, 255, .08);--shadow-card: 0 8px 28px -6px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06)}html{font-size:14px;scroll-behavior:smooth}body{font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-body-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition),color var(--transition)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b880}.page-header{background:var(--color-card-bg);border:1px solid var(--color-border-main);border-radius:var(--radius-card);padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow-card);transition:background var(--transition),border-color var(--transition)}.kpi-card{border-radius:var(--radius-card);overflow:hidden;position:relative;transition:transform var(--transition),box-shadow var(--transition)}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -6px #0000001f!important}.service-status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:500}.service-timeline .ant-timeline-item-content{background:var(--color-card-bg);border:1px solid var(--color-border-main);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-card)}.upload-zone{border:2px dashed var(--color-border-main);border-radius:12px;background:var(--color-card-bg);padding:32px;text-align:center;cursor:pointer;transition:all var(--transition)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--color-primary);background:var(--color-primary-light)}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:12px}.attachment-thumb{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1;background:var(--color-card-bg);border:1px solid var(--color-border-main);cursor:pointer;transition:transform var(--transition)}.attachment-thumb:hover{transform:scale(1.02)}.attachment-thumb img{width:100%;height:100%;object-fit:cover}.attachment-thumb .overlay{position:absolute;inset:0;background:#00000073;opacity:0;transition:opacity var(--transition);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.attachment-thumb:hover .overlay{opacity:1}.btn-action-edit,.ant-btn.btn-action-edit{color:#059669!important;background:#ecfdf5!important;border-color:#a7f3d0!important;font-weight:500!important;transition:all .2s ease!important}.btn-action-edit:hover,.ant-btn.btn-action-edit:hover{color:#fff!important;background:#10b981!important;border-color:#10b981!important;box-shadow:0 2px 8px #10b98140!important}.btn-action-delete,.ant-btn.btn-action-delete{color:#dc2626!important;background:#fef2f2!important;border-color:#fecaca!important;font-weight:500!important;transition:all .2s ease!important}.btn-action-delete:hover,.ant-btn.btn-action-delete:hover{color:#fff!important;background:#ef4444!important;border-color:#ef4444!important;box-shadow:0 2px 8px #ef444440!important}.btn-action-view,.ant-btn.btn-action-view{color:#0284c7!important;background:#f0f9ff!important;border-color:#bae6fd!important;font-weight:500!important;transition:all .2s ease!important}.btn-action-view:hover,.ant-btn.btn-action-view:hover{color:#fff!important;background:#0284c7!important;border-color:#0284c7!important;box-shadow:0 2px 8px #0284c740!important}.btn-action-role,.ant-btn.btn-action-role{color:#4f46e5!important;background:#eef2ff!important;border-color:#c7d2fe!important;font-weight:500!important;transition:all .2s ease!important}.btn-action-role:hover,.ant-btn.btn-action-role:hover{color:#fff!important;background:#4f46e5!important;border-color:#4f46e5!important;box-shadow:0 2px 8px #4f46e540!important}.btn-action-transfer,.ant-btn.btn-action-transfer{color:#7c3aed!important;background:#f5f3ff!important;border-color:#ddd6fe!important;font-weight:500!important;transition:all .2s ease!important}.btn-action-transfer:hover,.ant-btn.btn-action-transfer:hover{color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important;box-shadow:0 2px 8px #7c3aed40!important}.btn-action-warning,.ant-btn.btn-action-warning{color:#d97706!important;background:#fffbeb!important;border-color:#fde68a!important;font-weight:500!important;transition:all .2s ease!important}.btn-action-warning:hover,.ant-btn.btn-action-warning:hover{color:#fff!important;background:#f59e0b!important;border-color:#f59e0b!important;box-shadow:0 2px 8px #f59e0b40!important}html.dark .btn-action-edit,[data-theme=dark] .btn-action-edit{color:#34d399!important;background:#10b9811f!important;border-color:#10b9814d!important}html.dark .btn-action-edit:hover,[data-theme=dark] .btn-action-edit:hover{background:#059669!important;color:#fff!important}html.dark .btn-action-delete,[data-theme=dark] .btn-action-delete{color:#f87171!important;background:#ef44441f!important;border-color:#ef44444d!important}html.dark .btn-action-delete:hover,[data-theme=dark] .btn-action-delete:hover{background:#dc2626!important;color:#fff!important}html.dark .btn-action-view,[data-theme=dark] .btn-action-view{color:#38bdf8!important;background:#0284c71f!important;border-color:#0284c74d!important}html.dark .btn-action-view:hover,[data-theme=dark] .btn-action-view:hover{background:#0284c7!important;color:#fff!important}html.dark .btn-action-role,[data-theme=dark] .btn-action-role{color:#818cf8!important;background:#4f46e51f!important;border-color:#4f46e54d!important}html.dark .btn-action-role:hover,[data-theme=dark] .btn-action-role:hover{background:#4f46e5!important;color:#fff!important}html.dark .btn-action-transfer,[data-theme=dark] .btn-action-transfer{color:#a78bfa!important;background:#7c3aed1f!important;border-color:#7c3aed4d!important}html.dark .btn-action-transfer:hover,[data-theme=dark] .btn-action-transfer:hover{background:#7c3aed!important;color:#fff!important}html.dark .btn-action-warning,[data-theme=dark] .btn-action-warning{color:#fbbf24!important;background:#f59e0b1f!important;border-color:#f59e0b4d!important}html.dark .btn-action-warning:hover,[data-theme=dark] .btn-action-warning:hover{background:#d97706!important;color:#fff!important}.ant-table-cell .ant-btn,.ant-table-tbody .ant-btn,.btn-action-icon-only{height:28px!important;min-height:28px!important;max-height:28px!important;line-height:26px!important;font-size:13px!important;border-radius:6px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;box-sizing:border-box!important}.ant-table-cell .ant-btn.ant-btn-icon-only,.ant-table-tbody .ant-btn.ant-btn-icon-only,.btn-action-icon-only,.ant-btn.btn-action-icon-only,.ant-table-cell .btn-action-edit:not(:has(>span:not(.anticon))),.ant-table-cell .btn-action-delete:not(:has(>span:not(.anticon))),.ant-table-cell .btn-action-view:not(:has(>span:not(.anticon))),.ant-table-cell .btn-action-role:not(:has(>span:not(.anticon))),.ant-table-cell .btn-action-transfer:not(:has(>span:not(.anticon))),.ant-table-cell .btn-action-warning:not(:has(>span:not(.anticon))){width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;padding:0!important}.ant-table-cell .ant-btn.ant-btn-icon-only .anticon,.ant-table-tbody .ant-btn.ant-btn-icon-only .anticon,.btn-action-icon-only .anticon,.ant-btn.btn-action-icon-only .anticon{font-size:14px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important}.ant-table-cell .ant-space{display:inline-flex!important;align-items:center!important;vertical-align:middle!important}.ant-table-wrapper{width:100%!important;max-width:100%!important}.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-content{overflow-x:auto!important;-webkit-overflow-scrolling:touch}@media (max-width: 1024px){.ant-table-wrapper table{min-width:720px}}@media (max-width: 768px){.ant-layout-sider{display:none}.page-header{padding:14px 16px;margin-bottom:14px}.attachment-grid{grid-template-columns:repeat(3,1fr)}.ant-layout-content{margin:12px 8px!important}.ant-table-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.ant-table-wrapper table{min-width:640px!important}.ant-table-pagination.ant-pagination{flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;margin:12px 0!important}.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr>td{padding:10px 8px!important;font-size:13px!important;white-space:normal}.ant-table-wrapper .ant-space{flex-wrap:wrap!important;gap:4px!important}.main-layout-area{margin-left:0!important}}@media print{.ant-layout-sider,.ant-layout-header,.no-print,.ant-alert{display:none!important}.ant-layout-content{padding:0!important;margin:0!important}body{background:#fff!important;color:#000!important}}.ant-menu-dark.ant-menu-inline .ant-menu-item-group-title{color:#ffffff6b!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:16px 16px 6px!important;line-height:1.2!important;transition:all .2s ease}.ant-menu-dark.ant-menu-inline .ant-menu-item-group:first-child .ant-menu-item-group-title{padding-top:10px!important}.ant-menu-dark.ant-menu-inline .ant-menu-item-group-list{padding-left:0!important}
