@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);.installation-layout{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.installation-header{align-items:center;background-color:#0000001a;box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;font-size:20px;padding:16px 24px}.installation-content{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:40px 24px}.installation-card{border-radius:8px;box-shadow:0 8px 16px #00000026;max-width:600px;width:100%}.installation-form-container h2{color:#262626;margin-bottom:8px}.form-description{color:#8c8c8c;margin-bottom:24px}.installation-form{margin-top:24px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.test-result{align-items:center;border-radius:4px;display:flex;font-size:14px;gap:12px;margin-top:16px;padding:12px 16px}.test-result.success{background-color:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.test-result.error{background-color:#fff1f0;border:1px solid #ffccc7;color:#ff4d4f}.installation-success{padding:40px;text-align:center}.installation-success h2{color:#262626;margin-bottom:12px}.installation-success p{color:#8c8c8c;font-size:16px}.installation-footer{background-color:#0000000d;color:#666;margin-top:auto;padding:24px;text-align:center}.installation-footer p{margin:0}.appFooter{font-size:12px;line-height:18px;text-align:center;-webkit-user-select:none;user-select:none}.appFooter--light{color:#0000008c}.appFooter--dark{color:#ffffffd9}.login-layout.ant-layout{background:radial-gradient(1200px 800px at 12% 12%,#1677ff59 0,#1677ff00 62%),radial-gradient(900px 700px at 88% 18%,#f9731638 0,#f9731600 58%),linear-gradient(135deg,#081427,#0b1f3a 55%,#06101f)!important;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative}.login-layout.ant-layout:after,.login-layout.ant-layout:before{border-radius:999px;content:"";filter:blur(50px);height:520px;opacity:.55;pointer-events:none;position:absolute;transform:translateZ(0);width:520px}.login-layout.ant-layout:before{animation:loginFloatA 14s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#1677ffe6,#1677ff00);left:-140px;top:90px}.login-layout.ant-layout:after{animation:loginFloatB 16s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#f97316c7,#f9731600);bottom:60px;right:-170px}.login-layout.ant-layout::marker{content:""}.login-gridOverlay{background-image:linear-gradient(#ffffff0f 1px,#0000 0),linear-gradient(90deg,#ffffff0f 1px,#0000 0);background-size:64px 64px;inset:0;-webkit-mask-image:radial-gradient(circle at 35% 35%,#000000e6 0,#0003 55%,#0000 80%);mask-image:radial-gradient(circle at 35% 35%,#000000e6 0,#0003 55%,#0000 80%);opacity:.22;pointer-events:none;position:absolute;z-index:0}@keyframes loginFloatA{0%,to{transform:translate(-10px) scale(1)}50%{transform:translate(20px,-18px) scale(1.05)}}@keyframes loginFloatB{0%,to{transform:translate(10px) scale(1)}50%{transform:translate(-18px,14px) scale(1.06)}}.login-header{align-items:center;background:#0000!important;border-bottom:1px solid #ffffff1a;box-shadow:none;display:flex;padding:16px 24px}.login-headerBrand{align-items:center;display:flex;gap:10px}.login-headerLogo{background:#ffffffe0;border:1px solid #ffffff2e;border-radius:8px;height:28px;object-fit:cover;padding:3px;width:28px}.login-headerName{color:#ffffffeb;font-size:15px;font-weight:700;letter-spacing:.2px}.login-content{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px 20px;position:relative;z-index:1}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#fffffffa,#fffffff5);border:1px solid #0f172a14;border-radius:16px;box-shadow:0 20px 50px #00000052;max-width:440px;padding:36px;transition:transform .16s ease,box-shadow .16s ease;width:100%}.login-card:hover{box-shadow:0 22px 70px #00000061;transform:translateY(-2px)}.login-shell{grid-gap:32px;align-items:center;background:radial-gradient(900px 500px at 20% 20%,#1677ff59 0,#1677ff00 60%),radial-gradient(700px 420px at 80% 70%,#f9731633 0,#f9731600 55%),linear-gradient(135deg,#ffffff0f,#ffffff0a);display:grid;gap:32px;grid-template-columns:1fr 1.08fr;max-width:1060px;padding:0 20px;width:100%}.login-panel{align-items:center;border-right:none!important;display:flex;flex-direction:column;justify-content:flex-start;padding:32px 26px}.login-brandBox{margin-bottom:28px}.login-brandRow{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;text-align:center;width:100%}.login-panelLogo{border-radius:12px;height:200px;object-fit:contain;padding:8px;width:200px}.login-brandText{display:flex;flex-direction:column;gap:4px;max-width:720px}.login-brandTitle{color:#0f172af5!important;font-size:28px!important;font-weight:800!important;letter-spacing:-.6px;line-height:1.1;margin:0!important;text-align:center}.login-brandTagline{color:#f97316f2;display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-top:8px;text-align:center;text-transform:uppercase}.login-brandSubtitle{color:#0f172ad9;display:block;font-size:14px;font-weight:500;line-height:20px;margin-bottom:2px;margin-top:0}.login-panelDivider{border-top-color:#0f172a2e!important;margin:12px 0!important}.login-featureList{grid-gap:8px;color:#0f172aeb;display:grid;font-size:13px;font-weight:500;gap:8px;list-style:none;margin:0;padding:0}.login-featureList li{padding-left:20px;position:relative}.login-featureList li:before{background:#f97316e6;border-radius:50%;box-shadow:0 0 0 4px #f973162e;content:"";height:10px;left:0;position:absolute;top:6px;width:10px}.login-contactBox{border-top:1px solid #0f172a24;color:#0f172ad1;font-size:11px;font-weight:500;line-height:16px;margin-top:8px;padding-top:12px}.login-contactLine{opacity:.95}.login-panelBody{background:#ffffffe0;border:1px solid #0f172a14;border-radius:14px;box-shadow:0 12px 32px #0003;margin-top:16px;padding:20px 18px;width:100%}.login-demoBox{background:#0f172a8c;border:1px solid #ffffff1f;border-radius:12px;color:#e2e8f0e0;margin-top:auto;padding:16px}.login-demoLine{color:#e2e8f0d9;font-size:13px;margin-top:8px;word-break:break-all}.login-demoValue{color:#fffffff0!important;font-family:Monaco,Courier New,monospace;font-size:12px}.login-form{margin-top:20px}.login-form .ant-form-item-label>label{color:#0f172aeb;font-size:13px;font-weight:600}.login-form .ant-input,.login-form .ant-input-affix-wrapper{border-radius:10px}.login-form .ant-input,.login-form .ant-input-affix-wrapper{padding:8px 12px}.login-form .ant-input,.login-form .ant-input-password{border-radius:4px}.login-form .ant-input-password::placeholder,.login-form .ant-input::placeholder{color:#bfbfbf}.forgot-password-link{color:#1677ff;cursor:pointer;font-size:12px;text-decoration:none}.forgot-password-link:hover{color:#4096ff;text-decoration:underline}.login-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:0}.login-cardTitle{color:#0f172af5!important;font-size:24px!important;font-weight:700!important;margin-bottom:0!important}.login-cardSubtitle{color:#0000008c;display:block;font-size:13px;font-weight:500;margin-bottom:0;margin-top:4px}.login-submit{border-radius:10px;font-weight:600;height:44px}.login-footer{background:#0000!important;border-top:1px solid #ffffff1a;color:#fff;padding:18px 24px;text-align:center}@media (max-width:980px){.login-shell{background-color:#06101f;grid-template-columns:1fr}.login-panel{display:none}}@media (max-width:768px){.login-card{max-width:100%;padding:22px}.login-content{padding:20px 12px}}.management-container{background:var(--content-bg);min-height:100vh;padding:20px}.form-full-width{width:100%}.amount-input{width:250px}.modal-content{max-height:70vh;overflow-y:auto}.detail-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:15px}.detail-row-full{display:block;margin-bottom:15px}.detail-label{color:var(--brand-500);font-weight:700}.detail-value{color:#333;margin-top:5px}.asset-modal,.contract-modal,.expense-modal,.labor-modal,.user-modal,.vendor-modal{max-height:90vh}.asset-modal .ant-modal-body,.contract-modal .ant-modal-body,.expense-modal .ant-modal-body,.labor-modal .ant-modal-body,.user-modal .ant-modal-body,.vendor-modal .ant-modal-body{max-height:70vh;overflow-y:auto}.ant-input-number.amount-input,input[type=number].amount-input{width:100%}.management-form .ant-form-item{margin-bottom:16px}.management-form .ant-divider{color:var(--brand-500);font-weight:600;margin:20px 0}.management-table .ant-table-column-title{font-weight:600}.management-table .ant-table-row:hover{background-color:#f5f5f5}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-buttons .ant-btn{flex:1 1;min-width:80px}.status-tag{border-radius:4px;font-size:12px;font-weight:500;padding:4px 12px}.status-tag.active{background-color:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.status-tag.inactive{background-color:#fff1f0;border:1px solid #ffccc7;color:#ff4d4f}.status-tag.pending{background-color:#fffbe6;border:1px solid #ffe58f;color:#faad14}.status-tag.approved{background-color:#f6f8fb;border:1px solid #adc6ff;color:var(--brand-500)}.management-modal .ant-modal-header{border-bottom:2px solid var(--brand-500)}.management-modal .ant-modal-title{color:var(--brand-500);font-size:18px;font-weight:600}.form-section{background-color:#fafafa;border-left:4px solid var(--brand-500);border-radius:4px;margin-bottom:24px;padding:16px}.form-section-title{color:var(--brand-500);font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.amount-input{min-width:150px}.percentage-input{max-width:100px}.tag-red{background-color:#f50;color:#fff}.tag-orange{background-color:#ff7a45;color:#fff}.tag-green{background-color:#87d068;color:#fff}.tag-blue{background-color:var(--brand-500);color:#fff}.tag-purple{background-color:#722ed1;color:#fff}@media (max-width:768px){.asset-modal .ant-modal-body,.contract-modal .ant-modal-body,.expense-modal .ant-modal-body,.labor-modal .ant-modal-body,.user-modal .ant-modal-body,.vendor-modal .ant-modal-body{max-height:60vh}.action-buttons .ant-btn{font-size:12px;min-width:70px}.management-table .ant-table{font-size:12px}}.empty-state{color:#999;padding:40px 20px;text-align:center}.empty-state-icon{color:#ccc;font-size:48px;margin-bottom:16px}.empty-state-text{font-size:16px;margin-bottom:16px}.success-message{background-color:#f6ffed;border:1px solid #b7eb8f;border-radius:4px;color:#52c41a;margin-bottom:16px;padding:12px}.error-message{background-color:#fff1f0;border:1px solid #ffccc7;border-radius:4px;color:#ff4d4f;margin-bottom:16px;padding:12px}.ant-form-item-has-error .ant-input,.ant-form-item-has-error .ant-select-selector{border-color:#ff4d4f!important}.ant-form-item-has-error .ant-form-item-explain{color:#ff4d4f;font-size:12px}.payroll-management{padding:16px}.payroll-management .mb-10{margin-bottom:10px}.payroll-management .mb-20{margin-bottom:20px}.payroll-management .mb-30{margin-bottom:30px}.payroll-management .ant-statistic{border:1px solid #0000000f;border-radius:8px;padding:12px}.payroll-management .ant-statistic,.payroll-management .ant-table{background:#fff;background:var(--card-bg,#fff)}.rental-action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.button-group{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.button-group.inline{display:inline-flex;margin-right:12px}.ant-btn.primary-action{background-color:#1677ff;border-color:#1677ff;color:#fff;font-weight:500;min-width:80px}.ant-btn.primary-action:hover{background-color:#40a9ff;border-color:#40a9ff}.ant-btn.primary-action:disabled{background-color:#d9d9d9;border-color:#d9d9d9;color:#00000040;cursor:not-allowed}.ant-btn.secondary-action{background-color:#fafafa;border-color:#d9d9d9;color:#262626;font-weight:500;min-width:80px}.ant-btn.secondary-action:hover:not(:disabled){border-color:#40a9ff;color:#262626}.ant-btn.secondary-action:disabled{background-color:#fafafa;border-color:#d9d9d9;color:#00000040;cursor:not-allowed}.ant-btn.danger-action{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff;font-weight:500}.ant-btn.danger-action:hover{background-color:#ff7875;border-color:#ff7875}.ant-btn.danger-action:disabled{background-color:#d9d9d9;border-color:#d9d9d9;color:#00000040;cursor:not-allowed}.ant-btn.ghost-action{background-color:initial;border-color:#1677ff;color:#1677ff;font-weight:500}.ant-btn.ghost-action:hover{background-color:#e6f7ff;border-color:#40a9ff;color:#40a9ff}.ant-btn.ghost-action:disabled{background-color:initial;border-color:#d9d9d9;color:#00000040;cursor:not-allowed}.ant-btn.icon-small{align-items:center;display:flex;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:4px 8px;width:28px}.rental-tooltip{font-size:13px;max-width:250px}.rental-tooltip.disabled-tooltip{color:#999}.invoice-actions-bar{align-items:center;border-radius:4px;display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}@media (max-width:768px){.rental-action-buttons{flex-direction:column;width:100%}.ant-btn.danger-action,.ant-btn.ghost-action,.ant-btn.primary-action,.ant-btn.secondary-action{justify-content:center;min-width:auto;width:100%}.invoice-actions-bar{flex-direction:column}}.ant-btn{transition:all .3s ease}.ant-btn:not(:disabled):active{transform:scale(.95)}.button-hidden{display:none}.button-disabled-with-tooltip{opacity:.5;pointer-events:none}:root,html[data-theme=default]{--brand-500:#1890ff;--brand-700:#0050b3;--brand-400:#40a9ff;--brand-gradient:linear-gradient(180deg,var(--brand-500) 0%,var(--brand-700) 100%);--brand-focus:#ffffffe6;--app-bg:#f0f2f5;--content-bg:#f5f5f5}html[data-theme=midnight]{--brand-500:#7c3aed;--brand-700:#0f172a;--brand-400:#a78bfa;--brand-gradient:linear-gradient(180deg,#0f172a,#111827 45%,#1f2937);--brand-focus:#fffffff2;--app-bg:#f6e5d5;--content-bg:#f3f8e1}*,:after,:before{box-sizing:border-box}body,html{background:#f0f2f5;background:var(--app-bg);max-width:100vw;overflow-x:hidden;width:100%}#root,body,html{height:100%}body{overflow-y:hidden}.appLayout{height:100vh;overflow:hidden}.ant-layout{background:#f0f2f5;background:var(--app-bg)}.appBrand{background-color:#000000d9;border-bottom:1px solid #ffffff1a;color:#fff;font-size:18px;font-weight:700;margin-bottom:16px;padding:16px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:100}.ant-layout-sider .ant-menu{padding-bottom:80px}.mobileMenuSider{background:linear-gradient(180deg,#1890ff,#0050b3);background:var(--brand-gradient);height:100%;min-height:100vh}.mobileMenuDrawer .ant-drawer-body{padding:0}.mobileHamburger{border:none;box-shadow:none}.ant-layout-sider{background:linear-gradient(180deg,#1890ff,#0050b3);background:var(--brand-gradient)}.ant-menu-dark{background:#0000}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-submenu-title{border-radius:6px;color:#ffffffd9!important;font-size:15px;font-weight:500;line-height:48px;margin:4px 8px!important;min-height:48px;padding:0 16px!important;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-title:hover{background:#ffffff26!important;box-shadow:0 4px 12px #0003;color:#fff!important;transform:translateX(4px)}.ant-menu-dark .ant-menu-item-selected{background:#ffffff40!important;box-shadow:inset -3px 0 0 #fff9,0 4px 12px #00000040;color:#fff!important;font-weight:600}.ant-menu-dark .ant-menu-item-selected:before{background:#fffc;border-radius:0 3px 3px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.ant-menu-dark .ant-menu-item .anticon,.ant-menu-dark .ant-menu-submenu-title .anticon{font-size:16px;margin-right:12px;opacity:.9;transition:all .3s ease}.ant-menu-dark .ant-menu-item:hover .anticon,.ant-menu-dark .ant-menu-submenu-title:hover .anticon{opacity:1;transform:scale(1.1)}.ant-menu-dark .ant-menu-item-selected .anticon{color:#fff;opacity:1}.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow{transform:rotate(0deg)}.ant-menu-dark .ant-menu-sub .ant-menu-item{border-radius:4px;font-size:14px;font-weight:400;margin:2px 12px!important;padding-left:40px!important}.ant-menu-dark .ant-menu-sub .ant-menu-item:hover{background:#ffffff1f!important;margin-left:14px!important}.ant-menu-dark .ant-menu-sub .ant-menu-item-selected{background:#fff3!important;box-shadow:inset -2px 0 0 #ffffff80;color:#fff!important;margin-left:12px!important}.ant-menu-dark .ant-menu-item:focus-visible,.ant-menu-dark .ant-menu-submenu-title:focus-visible{outline:2px solid #ffffffe6;outline:2px solid var(--brand-focus);outline-offset:-2px}.ant-layout-header{background:#fff;box-shadow:0 1px 4px #00000014}.ant-layout-content{background:#f0f2f5;background:var(--app-bg);min-height:0}.pageContainer{padding:24px}.appTable .ant-table-cell{vertical-align:middle}.appTable .ant-table-content table{min-width:100%}.ant-card{border-radius:2px;box-shadow:0 1px 4px #00000014}.ant-card-head{background:#fafafa;border-bottom:1px solid #d9d9d9}.ant-table{background:#fff;font-size:14px}.ant-table-thead>tr>th{background:#fafafa;font-weight:600}.ant-form-item-label>label{font-weight:500}.ant-input,.ant-input-number,.ant-select-selector{border-radius:2px}.ant-modal-header{border-bottom:1px solid #f0f0f0}.ant-modal-footer{border-top:1px solid #f0f0f0}.ant-btn-primary{background:#1890ff;background:var(--brand-500);border-color:#1890ff;border-color:var(--brand-500)}.ant-btn-primary:hover{background:#40a9ff;background:var(--brand-400);border-color:#40a9ff;border-color:var(--brand-400)}@media (max-width:768px){.pageContainer{overflow-x:hidden;padding:8px 8px 80px}.ant-layout-content{margin-left:0;padding-bottom:80px!important}.ant-layout-footer{display:block;padding:12px 16px}.ant-card{border-radius:2px;overflow:hidden}.ant-card-body{padding:10px}.ant-card-head{padding:0 12px}.ant-card-body .appTable{margin:0}.ant-card .ant-card{margin-left:-6px;margin-right:-6px}.appTable .ant-table,.appTable .ant-table-container,.appTable .ant-table-content,.appTable.ant-table-wrapper{width:100%}.ant-table,.ant-table-container,.ant-table-content,.ant-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.ant-table-content table{min-width:100%}.ant-table-cell{white-space:nowrap!important}.appTable .ant-table{font-size:12px}.appTable .ant-table-cell{padding:8px!important;white-space:nowrap}.appTable .ant-table-cell.wrapCell{white-space:normal}.ant-tabs-nav{margin:0 0 8px!important}.ant-tabs-tab{font-size:12px}.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-bordered .ant-descriptions-item-label,.ant-tabs-tab{padding:8px 10px!important}.ant-modal-content{padding:12px}.ant-form-inline .ant-form-item{margin-bottom:12px}.ant-form-inline .ant-form-item-control{width:100%}.ant-statistic-content{font-size:22px}}@media (max-width:480px){.ant-page-header-heading-title{font-size:16px}}.ant-statistic-title{color:#00000073;font-size:14px;margin-bottom:8px}.ant-statistic-content{color:#000000d9;font-size:28px}.ant-tag{border-radius:2px}.ant-spin{align-items:center;display:flex;height:100px;justify-content:center}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}