*{box-sizing:border-box}body{margin:0;color:#1f2937;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.4;margin-bottom:6px}h2{font-size:20px;line-height:1.5}h3{font-size:16px}a,.text-link{color:#087f73}.app-shell{min-height:100vh}.desktop-sidebar{position:fixed!important;inset:0 auto 0 0;border-right:1px solid #e4e7ec;z-index:20;transition:width .2s ease,min-width .2s ease,max-width .2s ease!important}.desktop-sidebar .ant-layout-sider-children{display:flex;flex-direction:column;min-height:0}.app-shell>.ant-layout{margin-left:200px;min-width:0;transition:margin-left .2s ease}.app-shell.navigation-collapsed>.ant-layout{margin-left:64px}.sidebar-brand{height:88px;padding:18px 22px;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;overflow:hidden;white-space:nowrap}.sidebar-brand strong{font-size:25px;letter-spacing:1px;transition:font-size .2s ease}.sidebar-brand span{color:#687380;font-size:12px}.desktop-sidebar.ant-layout-sider-collapsed .sidebar-brand{padding-inline:0;align-items:center}.desktop-sidebar.ant-layout-sider-collapsed .sidebar-brand strong{font-size:15px}.desktop-sidebar.ant-layout-sider-collapsed .sidebar-brand span{display:none}.navigation-menu-shell{display:flex;flex:1;flex-direction:column;min-height:0}.navigation-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#aeb8c2 transparent;scrollbar-width:thin}.navigation-scroll::-webkit-scrollbar{width:6px}.navigation-scroll::-webkit-scrollbar-track{background:transparent}.navigation-scroll::-webkit-scrollbar-thumb{background:#aeb8c2;border-radius:6px}.navigation-scroll:focus-visible{outline-offset:-3px}.navigation-scroll-control{display:flex;align-items:center;justify-content:center;height:32px;flex:0 0 32px;visibility:hidden}.navigation-scroll-control.is-visible{visibility:visible}.navigation-scroll-control .ant-btn{width:36px;color:#5f6b76}.navigation-scroll-control .ant-btn:not(:disabled):hover{color:#087f73;background:#e7f3f0}.navigation-menu-shell .ant-menu-inline,.navigation-menu-shell .ant-menu-vertical{border-inline-end:0!important}.navigation-menu-shell .ant-menu-submenu-title,.navigation-menu-shell .ant-menu-item{margin-inline:0;width:100%}.sidebar-foot{min-height:56px;padding:8px 12px 8px 22px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;border-top:1px solid #e4e7ec;color:#687380;font-size:12px}.sidebar-slogan{overflow:hidden;white-space:nowrap}.desktop-sidebar.ant-layout-sider-collapsed .sidebar-foot{justify-content:center;padding-inline:8px}.desktop-sidebar.ant-layout-sider-collapsed .sidebar-slogan{display:none}.navigation-drawer .ant-drawer-body{display:flex;min-height:0;padding:0!important;overflow:hidden}.mobile-navigation{width:100%;height:100%}.mobile-navigation .navigation-scroll{padding-block:8px}.app-header{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e4e7ec;position:sticky;top:0;z-index:10;line-height:normal!important}.breadcrumb{color:#687380}.header-search{width:280px}.search-result{cursor:pointer}.business-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%}.business-list-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;flex:1}.business-list-content{min-width:0;flex:1}.business-list-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.business-list-meta strong{font-weight:500;overflow-wrap:anywhere}.business-list-meta span{color:#687380;overflow-wrap:anywhere}.business-list-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.business-list-extra{flex-shrink:0;white-space:nowrap}.account{margin-left:auto}.app-content{padding:24px;min-width:0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-title>div:first-child{min-width:180px;flex:0 1 360px}.page-title p{color:#5f6b76;margin:0}.page-actions{min-width:0;flex:1 1 0;display:flex;justify-content:flex-end}.filter-bar{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-bar .ant-input-search{width:320px}.filter-bar .ant-select{min-width:180px}.business-table,.surface{background:#fff;border:1px solid #e4e7ec;border-radius:6px}.surface{padding:24px;margin-bottom:20px}.business-table .ant-table-pagination{padding:0 16px}.name-cell{display:flex;flex-direction:column;text-align:left;max-width:280px;white-space:normal;overflow-wrap:anywhere;gap:4px}.name-cell strong{color:#1f2937;font-weight:500}.name-cell small{font-size:12px;color:#687380}.text-link{background:none;border:0;padding:0;cursor:pointer}.text-link:hover{text-decoration:underline}.table-progress{min-width:110px;display:flex;gap:10px;align-items:center}.table-progress span{white-space:nowrap;font-variant-numeric:tabular-nums}.table-progress .ant-progress{margin:0}.drawer-footer{display:flex;justify-content:flex-end;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .ant-picker,.ant-form-item .ant-input-number{width:100%}.progress-block{margin-top:20px}.muted{color:#687380}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.detail-grid .surface{height:100%}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.section-title h2{margin:0}.task-comments{margin-top:24px;padding-top:20px;border-top:1px solid #e4e7ec}.task-comments h3{margin:0}.comment-card{padding:10px 12px;border:1px solid #e4e7ec;border-radius:8px;background:#fafbfc}.form-error{margin-top:6px;color:#c62932;font-size:13px}.number-value{font-variant-numeric:tabular-nums}.full-status{min-height:100vh;display:grid;place-items:center}.mobile-menu{display:none}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-intro{padding:64px 10%;background:#f1f3f4;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #e4e7ec}.brand{font-weight:700;font-size:28px;letter-spacing:1px;margin-bottom:72px}.login-intro h1{font-size:48px;line-height:1.4;letter-spacing:1px;margin-bottom:24px}.login-intro p{font-size:18px;line-height:1.8;color:#5f6b76}.login-form{width:min(420px,100%);padding:36px;margin:auto}.login-form h2{font-size:26px;margin-bottom:8px}.login-form>p{color:#687380;margin-bottom:28px}.brand.small{display:none}.login-foot{font-size:12px;margin-top:24px}.ant-descriptions-item-content{overflow-wrap:anywhere;white-space:pre-wrap}.task-cards{display:none}.task-card{padding:16px;border-bottom:1px solid #e4e7ec;background:#fff}.task-card h3{margin:0 0 8px;overflow-wrap:anywhere}.task-card p{margin:8px 0;color:#687380}.task-card-footer{display:flex;justify-content:space-between;align-items:center}.todo-cards{display:none}.todo-card{padding:16px;border-bottom:1px solid #e4e7ec;background:#fff}.todo-card:last-child{border-bottom:0}.todo-card-head,.todo-card-meta,.todo-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-cards{display:none}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-card-head .text-link{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}.project-card-head small{color:#687380;margin-top:4px}.project-card-meta{display:grid;gap:4px;margin:12px 0;color:#687380;overflow-wrap:anywhere}.project-card-progress{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.project-card-progress span{color:#687380}.project-card-progress .ant-progress{grid-column:1 / -1}.project-card-actions{display:flex;justify-content:flex-end;gap:4px;margin:8px -8px -8px}.receivable-cards,.receivable-mobile-pagination,.contract-cards,.contract-mobile-pagination{display:none}.contract-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contract-card-head .text-link{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}.contract-card-head small{color:#687380;margin-top:4px}.contract-card-meta{display:grid;gap:4px;margin:12px 0;color:#687380;overflow-wrap:anywhere}.contract-card-actions{display:flex;justify-content:flex-end;gap:4px;margin:8px -8px -8px}.receivable-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.receivable-card-head>div:first-child{display:flex;flex-direction:column;min-width:0}.receivable-card-head small,.receivable-card-meta{color:#687380;overflow-wrap:anywhere}.receivable-card-head small{margin-top:4px}.receivable-card-meta{display:grid;gap:4px;margin:12px 0}.receivable-card-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.receivable-card-amounts>div{display:grid;gap:3px;min-width:0}.receivable-card-amounts span{color:#687380;font-size:12px}.receivable-card-amounts strong{overflow-wrap:anywhere}.receivable-card-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px;margin:8px -8px -8px}.maintenance-ticket-cards,.maintenance-ticket-pagination{display:none}.maintenance-ticket-card{display:grid;gap:10px;padding:16px;background:#fff;border:1px solid #e4e7ec;border-radius:6px}.maintenance-ticket-head,.maintenance-ticket-actions,.maintenance-ticket-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.maintenance-ticket-head>div{display:flex;flex-direction:column;min-width:0}.maintenance-ticket-head small,.maintenance-ticket-meta{color:#687380;overflow-wrap:anywhere}.maintenance-ticket-head small{margin-top:4px}.maintenance-ticket-card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.maintenance-ticket-meta{flex-wrap:wrap;font-size:13px}.maintenance-ticket-actions{align-items:center;justify-content:flex-end}.todo-card-head h3{margin:0;overflow-wrap:anywhere}.todo-card p{margin:8px 0;color:#687380;overflow-wrap:anywhere}.todo-card-meta{color:#687380;font-size:13px;margin:12px 0;flex-wrap:wrap}.duration-preview{background:#e7f3f0;color:#06584f;padding:16px;margin-bottom:24px;border-radius:6px}.ant-alert{margin-bottom:16px}.ant-table-cell{overflow-wrap:anywhere}.ant-table-wrapper .ant-btn-link{padding-inline:4px}.ant-form-item-label>label{color:#5f6b76!important}:focus-visible{outline:2px solid #087f73;outline-offset:3px}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}.app-content{padding:20px}}@media(max-width:767px){body{font-size:16px}.desktop-sidebar{display:none}.app-shell>.ant-layout{margin-left:0}.app-header{padding:0 12px!important;gap:8px}.mobile-menu{display:inline-flex}.breadcrumb{font-size:13px}.header-search{width:150px}.account{max-width:150px}.account span:not(.ant-avatar){overflow:hidden;text-overflow:ellipsis}.app-content{padding:20px 16px}.page-title{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.page-title>div:first-child,.page-actions{width:100%}.page-actions{justify-content:flex-start}h1{font-size:24px}.page-title p{font-size:13px}.filter-bar{gap:10px}.filter-bar .ant-input-search{width:100%}.filter-bar .ant-select{flex:1;min-width:140px}.project-cards{display:grid;gap:10px}.project-table{display:none}.receivable-cards{display:grid;gap:10px}.receivable-mobile-pagination{display:flex;justify-content:flex-end;margin:16px 0}.receivable-cards~.business-table{display:none}.contract-cards{display:grid;gap:10px}.contract-mobile-pagination{display:flex;justify-content:flex-end;margin:16px 0}.contract-cards~.business-table{display:none}.maintenance-ticket-cards{display:grid;gap:10px}.maintenance-ticket-pagination{display:flex;justify-content:flex-end;margin:16px 0}.maintenance-ticket-cards~.ant-tabs .ant-tabs-tabpane-active .business-table{display:none}.surface{padding:16px}.form-grid{grid-template-columns:1fr;gap:0}.ant-drawer-content-wrapper{max-width:100vw}.ant-drawer-body{padding:20px 16px!important}.ant-input,.ant-select,.ant-picker-input>input,.ant-input-number-input{font-size:16px!important}.ant-btn{min-height:40px}.ant-select-single,.ant-picker{min-height:44px}.login-page{display:block;padding-top:40px}.login-intro{display:none}.login-form{padding:24px}.brand.small{display:block;font-size:24px;margin-bottom:40px}.task-table,.todo-table{display:none}.todo-cards,.task-cards{display:block;border:1px solid #e4e7ec;border-radius:6px;overflow:hidden}.task-cards .ant-pagination{padding:16px}.drawer-footer .ant-btn{min-height:44px}.section-title{flex-wrap:wrap}}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-grid.ant-row{display:grid;margin-left:0!important;margin-right:0!important}.metric-grid.ant-row>.ant-col{width:auto;max-width:none;min-width:0}.metric-grid .ant-statistic{background:#fff;border:1px solid #e4e7ec;border-radius:6px;padding:20px}.metric-grid .ant-statistic-content{color:#087f73;font-variant-numeric:tabular-nums}.analytics-bars .ant-card-body{min-height:180px}.analytics-bar+.analytics-bar{margin-top:14px}.analytics-bar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#344054;font-size:13px}.analytics-bar-head strong{color:#101828;font-variant-numeric:tabular-nums;font-weight:600}.analytics-bar .ant-progress{margin:4px 0 0}.quote-line{display:grid;grid-template-columns:minmax(0,1fr) 100px 120px auto;gap:8px;align-items:start}.quote-line .ant-input-number{width:100%}.money-summary{display:flex;justify-content:flex-end;gap:20px;align-items:center;margin-top:20px;flex-wrap:wrap}.money-summary strong{color:#087f73;font-size:16px}.schedule-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:12px 0;border-bottom:1px solid #e4e7ec}.schedule-row:last-child{border-bottom:0}.json-preview{max-height:240px;overflow:auto;margin:0;white-space:pre-wrap;word-break:break-word;color:#344054;font-size:12px}.import-mapping-panel{margin-top:16px;padding:14px 16px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.import-mapping-panel .section-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px}.import-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.import-mapping-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(150px,1.3fr);gap:10px;align-items:center}.import-mapping-row span{color:#344054}.import-mapping-row em{margin-left:6px;color:#d92d20;font-size:12px;font-style:normal}@media(max-width:767px){.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-grid.ant-row>.ant-col{width:auto}.metric-grid .ant-statistic{padding:12px}.metric-grid .ant-statistic-title{font-size:13px}.metric-grid .ant-statistic-content{font-size:18px}.quote-line{grid-template-columns:1fr 1fr}.quote-line .ant-form-item:first-child{grid-column:1 / -1}.money-summary{justify-content:flex-start}.schedule-row{grid-template-columns:1fr auto}.schedule-row span:last-child{grid-column:1 / -1;color:#687380}.import-mapping-grid{grid-template-columns:1fr}.import-mapping-panel .section-heading{display:block}}.detail-grid{margin-bottom:20px}.detail-grid>.surface{margin-bottom:0}@media(max-width:767px){.time-range{grid-template-columns:1fr 1fr;gap:12px}.ant-drawer-body .ant-form-item{margin-bottom:18px}.drawer-footer>.ant-btn-primary{flex:1}}@media(prefers-reduced-motion:reduce){.desktop-sidebar,.app-shell>.ant-layout,.sidebar-brand strong{transition:none!important}}
