body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-content{width:100%;max-width:450px}.login-card{border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:40px 30px;background:#fff;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.logo-container{text-align:center;margin-bottom:30px}.company-logo{max-width:200px;height:auto;animation:fadeIn .8s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-title{text-align:center;font-size:28px;font-weight:700;color:#1a1a1a;margin-bottom:8px;margin-top:0}.login-subtitle{text-align:center;font-size:16px;color:#666;margin-bottom:40px}.input-icon{color:#45d6e2}.login-button{height:48px;font-size:16px;font-weight:600;margin-top:12px;border-radius:8px;background:#45d6e2;border:none;transition:all .3s ease}.login-button:hover{background:#3bc4d0!important;transform:translateY(-2px);box-shadow:0 4px 12px #45d6e266}.login-button:active{transform:translateY(0)}.login-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #f0f0f0}.login-footer p{color:#999;font-size:13px;margin:0}.ant-form-item{margin-bottom:24px}.ant-input-affix-wrapper,.ant-input{border-radius:8px;border:1px solid #e0e0e0;transition:all .3s ease}.ant-input-affix-wrapper:hover,.ant-input:hover{border-color:#45d6e2}.ant-input-affix-wrapper-focused,.ant-input:focus{border-color:#45d6e2;box-shadow:0 0 0 2px #45d6e21a}.ant-form-item-explain-error{font-size:13px}.dashboard-container{padding:40px;background:#f5f5f5;min-height:100vh}.dashboard-header{margin-bottom:32px}.dashboard-header h1{margin:0;font-size:32px;font-weight:600;color:#1a1a1a}.dashboard-subtitle{margin:8px 0 0;font-size:16px;color:#666}.stats-section{margin-bottom:32px}.section-title{margin:0 0 16px;font-size:20px;font-weight:600;color:#1a1a1a}.stat-card{border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card-primary .ant-statistic-title,.stat-card-primary .ant-statistic-content{color:#fff}.stat-card-success{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-card-success .ant-statistic-title,.stat-card-success .ant-statistic-content{color:#fff}.stat-card-warning{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card-warning .ant-statistic-title,.stat-card-warning .ant-statistic-content{color:#fff}.stat-detail{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;font-size:14px}.stat-card:not(.stat-card-primary):not(.stat-card-success):not(.stat-card-warning) .stat-detail{border-top:1px solid #f0f0f0}.stat-label{color:#fffc}.stat-value{font-weight:600}.stat-card:not(.stat-card-primary):not(.stat-card-success):not(.stat-card-warning) .stat-label{color:#666}.stat-card:not(.stat-card-primary):not(.stat-card-success):not(.stat-card-warning) .stat-value{color:#45d6e2}.calendar-card,.chart-card,.table-card{border-radius:12px;box-shadow:0 2px 8px #0000000d}.calendar-card .ant-card-head-title,.chart-card .ant-card-head-title,.table-card .ant-card-head-title{font-size:18px;font-weight:600}.fc{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.fc .fc-button-primary{background-color:#45d6e2;border-color:#45d6e2}.fc .fc-button-primary:hover{background-color:#3bc4d0;border-color:#3bc4d0}.fc .fc-button-primary:not(:disabled):active,.fc .fc-button-primary:not(:disabled).fc-button-active{background-color:#2eb3bf;border-color:#2eb3bf}.fc-event{cursor:pointer;border-radius:4px;padding:2px 4px}.fc-daygrid-event{white-space:normal}@media(max-width:768px){.dashboard-container{padding:20px}.dashboard-header h1{font-size:24px}.dashboard-subtitle{font-size:14px}.section-title{font-size:18px}.stat-detail{font-size:12px}.fc .fc-toolbar{flex-direction:column;gap:8px}.fc .fc-toolbar-chunk{display:flex;justify-content:center}}.table-card .ant-table-small .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.table-card a{color:#45d6e2;transition:color .3s ease;cursor:pointer}.table-card a:hover{color:#3bc4d0;text-decoration:underline}.recharts-wrapper{margin:0 auto}.clients-container{padding:40px;background:#f5f5f5;min-height:100vh}.clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.clients-header h2{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.create-btn{background:#45d6e2;border:none;height:40px;transition:all .3s ease}.create-btn:hover{background:#3bc4d0!important;transform:translateY(-1px)}.clients-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-input{flex:1;min-width:250px;max-width:400px}.action-btn-inactive{color:#faad14}.action-btn-inactive:hover{background:#faad141a!important;color:#faad14!important}.action-btn-view:hover{background:#1890ff1a!important;color:#1890ff!important}.client-details{display:flex;flex-direction:column;gap:24px}.detail-section{padding:16px;background:#f9f9f9;border-radius:8px}.map-link{display:inline-flex;align-items:center;gap:6px;color:#45d6e2;text-decoration:none;font-size:15px}.map-link:hover{color:#3bc4d0;text-decoration:underline}.ant-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d}.ant-radio-button-wrapper-checked{background:#45d6e2!important;border-color:#45d6e2!important}.ant-radio-button-wrapper-checked:hover{background:#3bc4d0!important;border-color:#3bc4d0!important}@media(max-width:768px){.clients-container{padding:20px}.clients-header{flex-direction:column;align-items:flex-start;gap:16px}.clients-header h2{font-size:24px}.create-btn{width:100%}.clients-filters{flex-direction:column}.search-input{max-width:100%}.ant-table,.ant-table-wrapper{overflow-x:auto}.ant-table-thead>tr>th:nth-child(2),.ant-table-tbody>tr>td:nth-child(2),.ant-table-thead>tr>th:nth-child(3),.ant-table-tbody>tr>td:nth-child(3),.ant-table-thead>tr>th:nth-child(4),.ant-table-tbody>tr>td:nth-child(4),.ant-table-thead>tr>th:nth-child(5),.ant-table-tbody>tr>td:nth-child(5){display:none}.ant-table{font-size:13px}.ant-table-thead>tr>th{padding:12px 8px}.ant-table-tbody>tr>td{padding:12px 8px}.ant-space{gap:4px!important}}.client-detail-container{padding:40px;background:#f5f5f5;min-height:100vh}.detail-header-section{margin-bottom:32px}.back-button{color:#45d6e2;font-size:14px;padding:0;height:auto;margin-bottom:16px}.back-button:hover{color:#3bc4d0!important}.client-name{margin:0;font-size:32px;font-weight:600;color:#1a1a1a}.detail-tabs{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.detail-content{display:flex;flex-direction:column;gap:24px;max-width:800px}.tab-content{padding-top:8px}.detail-section{padding:20px;background:#f9f9f9;border-radius:8px}.detail-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1a1a1a}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.detail-header h3{margin:0}.detail-item{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.detail-item:last-child{margin-bottom:0}.detail-item label{font-size:13px;color:#666;font-weight:500}.detail-item span{font-size:15px;color:#1a1a1a}.description-text{margin:0;color:#1a1a1a;line-height:1.6;white-space:pre-wrap}.action-btn-edit{color:#45d6e2}.action-btn-edit:hover{background:#45d6e21a!important;color:#3bc4d0!important}.action-btn-active{color:#52c41a}.action-btn-active:hover{background:#52c41a1a!important;color:#52c41a!important}.action-btn-delete:hover{background:#ff4d4f1a!important;color:#ff4d4f!important}@media(max-width:768px){.client-detail-container{padding:20px}.client-name{font-size:24px}.detail-tabs{padding:16px}.detail-content{max-width:100%}}.jobs-container{padding:24px;background:#f5f5f5;min-height:100vh}.jobs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.jobs-header h1{margin:0;font-size:28px;font-weight:600;color:#262626}.jobs-subtitle{margin:4px 0 0;color:#8c8c8c;font-size:14px}.jobs-filters{background:#fff;padding:16px;border-radius:8px;margin-bottom:16px;box-shadow:0 1px 2px #00000008}.jobs-table{background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 2px #00000008}.action-btn-success{color:#52c41a}.action-btn-success:hover{color:#73d13d;background:#52c41a1a}@media(max-width:768px){.jobs-container{padding:16px}.jobs-header h1{font-size:24px}.jobs-filters,.jobs-table{padding:12px}}.profile-container{padding:24px;background:#f5f5f5;min-height:100vh}.profile-header{margin-bottom:24px}.profile-header h1{margin:0;font-size:28px;font-weight:600;color:#262626}.profile-subtitle{margin:4px 0 0;color:#8c8c8c;font-size:14px}.profile-content{max-width:600px}.profile-card{margin-bottom:24px;box-shadow:0 1px 2px #00000008;border-radius:8px}.info-item{display:flex;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-item label{font-weight:500;color:#595959;min-width:120px}.info-item span{color:#262626}@media(max-width:768px){.profile-container{padding:16px}.profile-header h1{font-size:24px}.profile-content{max-width:100%}}.invoices-container{padding:24px;background:#f5f5f5;min-height:100vh}.invoices-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.invoices-header h1{margin:0;font-size:28px;font-weight:600;color:#262626}.invoices-subtitle{margin:4px 0 0;color:#8c8c8c;font-size:14px}.invoices-table{background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 2px #00000008}.invoice-items-section{margin:24px 0;padding:16px;background:#fafafa;border-radius:8px}.invoice-items-section h3{margin:0 0 16px;font-size:16px;font-weight:600}.invoice-item-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}.item-total{min-width:100px;text-align:right;font-weight:600;color:#262626;padding:4px 8px}.invoice-summary{display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.summary-row.total-row{margin-top:8px;padding-top:12px;border-top:2px solid #d9d9d9;font-size:16px}.summary-row.total-row strong{color:#45d6e2;font-size:18px}.action-btn-view{color:#1890ff}.action-btn-view:hover{color:#40a9ff;background:#1890ff1a}.action-btn-edit{color:#faad14}.action-btn-edit:hover{color:#ffc53d;background:#faad141a}.action-btn-delete{color:#ff4d4f}.action-btn-delete:hover{color:#ff7875;background:#ff4d4f1a}@media(max-width:768px){.invoices-container{padding:16px}.invoices-header{flex-direction:column;gap:16px}.invoices-header h1{font-size:24px}.invoice-item-row{flex-wrap:wrap}.item-total{width:100%;text-align:left;margin-top:8px}}.invoice-header{display:flex;justify-content:space-between;align-items:center}.invoice-header p{font-size:14px}.invoice-header .header-center{text-align:center}.invoice-header .header-right{display:flex;flex-direction:column;align-items:flex-end}.invoice-date{display:flex;justify-content:flex-end;margin-top:50px}.invoice-date p{font-size:14px}.invoice-info-general{margin-top:50px}.invoice-info-general p{font-size:14px}.invoice-items-wrapper{margin-top:50px}.invoice-item-row{display:grid;grid-template-columns:4fr 1fr 1fr 1fr;gap:10px}.invoice-item-row p{font-size:14px}.invoice-client-address{margin-top:20px}.invoice-client-address p{font-size:14px}.invoice-total{margin-top:20px;display:flex;justify-content:space-between;align-items:center}.invoice-total p{font-size:14px}.invoice-info-due-date{margin-top:50px}.invoice-info-due-date p{font-size:14px}.invoice-close{margin-top:50px;display:flex;flex-direction:column;justify-content:flex-end}.invoice-close p{font-size:14px}.app-sider{background:#001529!important;position:relative}.logo-section{height:80px;display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px;position:relative}.mobile-close-btn{color:#fff!important;font-size:20px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.mobile-close-btn:hover{background:#45d6e233!important;color:#45d6e2!important}.sidebar-logo{max-width:90px;height:auto}@media screen and (max-width:768px){.sidebar-logo{max-width:80px}}.app-title{color:#45d6e2;font-size:18px;font-weight:600;white-space:nowrap}.sidebar-menu{background:transparent!important;border:none}.sidebar-menu .ant-menu-item{margin:8px 12px;border-radius:8px;height:48px;line-height:48px;font-size:15px}.sidebar-menu .ant-menu-item-selected{background:#45d6e2!important;color:#fff!important}.sidebar-menu .ant-menu-item:hover{background:#45d6e233!important;color:#45d6e2!important}.sidebar-footer{position:absolute;bottom:60px;left:0;right:0;padding:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.user-section{margin-bottom:12px}.user-info-sidebar{display:flex;align-items:center;gap:10px;padding:12px;background:#ffffff0d;border-radius:8px}.user-icon{font-size:18px;color:#45d6e2}.user-name-sidebar{color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-btn{color:#ffffffa6!important;height:40px;display:flex;align-items:center;justify-content:center;gap:8px}.profile-btn:hover{background:#45d6e233!important;color:#45d6e2!important}.logout-btn{color:#ffffffa6!important;height:40px;display:flex;align-items:center;justify-content:center;gap:8px}.logout-btn:hover{background:#ff00001a!important;color:#ff4d4f!important}.collapse-btn{position:absolute;bottom:12px;left:50%;transform:translate(-50%);color:#ffffffa6!important;width:calc(100% - 24px);height:36px}.collapse-btn:hover{background:#ffffff1a!important;color:#45d6e2!important}.site-layout{background:#f5f5f5}.site-layout-background{min-height:100vh;background:#f5f5f5}.mobile-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#001529;position:fixed;top:0;left:0;right:0;z-index:999;box-shadow:0 2px 8px #00000026}.mobile-menu-btn{color:#fff!important;font-size:20px;padding:8px}.mobile-menu-btn:hover{background:#45d6e233!important;color:#45d6e2!important}.mobile-logo{max-width:40px;height:auto}.mobile-title{color:#45d6e2;font-size:18px;font-weight:600;flex:1}.mobile-drawer-content{background:#001529;min-height:100vh;display:flex;flex-direction:column;position:relative}.mobile-drawer .sidebar-footer{position:absolute;bottom:20px}@media(max-width:768px){.site-layout-background{padding-top:64px}.dashboard-content{margin:20px!important;padding:20px!important}}@media(min-width:769px){.mobile-header{display:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}
