html,body,#root,#root>.ant-app{height:100%;margin:0}body{background:#f4f6fa}.app-shell{min-height:100vh}.app-sider{height:100vh;position:sticky!important;top:0;overflow:hidden}.ant-layout-sider-children{height:calc(100vh - 48px);overflow-y:auto;overflow-x:hidden}.app-main{min-width:0}.app-header{background:#fff!important;padding:0 20px!important;height:56px!important;line-height:56px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8ebf0;position:sticky;top:0;z-index:10}.app-header-left,.app-header-right{display:flex;align-items:center;gap:10px;min-width:0}.app-header-left{flex:1 1 auto}.app-header-right{flex:0 0 auto}.company-select{width:340px;max-width:100%;flex:0 1 340px;min-width:160px}.header-roles{display:inline-flex;gap:4px;white-space:nowrap;overflow:hidden}.header-roles .ant-tag{margin:0}.header-user{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.app-content{padding:20px;min-width:0}@media (max-width: 991px){.header-roles{display:none}}@media (max-width: 767px){.app-header{padding:0 12px!important}.app-content{padding:12px}.header-user{display:none}}.logo{display:flex;align-items:center;justify-content:center;height:64px;padding:8px 14px;background:#001529;box-sizing:border-box}.logo img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain}.logo.collapsed{padding:8px 6px}.logo.collapsed img{max-height:28px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin-bottom:16px;flex-wrap:wrap}.page-header>div:first-child{min-width:0;flex:1 1 260px}.page-header h2{margin:0;font-size:20px;font-weight:600;line-height:1.3;color:#1d2433}.page-header .muted{margin-top:2px}.page-header>.ant-space{flex:0 1 auto;justify-content:flex-end}.page-header>.ant-space .ant-space-item>.ant-select,.page-header>.ant-space .ant-space-item>div>.ant-select{min-width:180px}.ant-card{border-color:#e8ebf0}.ant-card-head{min-height:44px}.ant-table-wrapper{background:#fff;border-radius:8px}.ant-table-wrapper .ant-table{border-radius:8px}.ant-table-thead>tr>th{background:#f7f9fc!important;font-weight:600;color:#3a4252;white-space:nowrap}.ant-tabs-nav{margin-bottom:12px!important}.ant-form-vertical .ant-form-item{margin-bottom:14px}.ant-form-vertical .ant-form-item-label{padding-bottom:4px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-bottom:12px}.num{text-align:right;font-variant-numeric:tabular-nums}.tile{cursor:pointer;transition:box-shadow .15s,transform .15s;height:100%}.tile:hover{box-shadow:0 4px 14px #1428501f;transform:translateY(-1px)}.tile .ant-statistic-title{font-size:13px}.tile .ant-statistic-content{font-size:22px;font-variant-numeric:tabular-nums}.tile.warning{border-left:4px solid #faad14}.tile.danger{border-left:4px solid #ff4d4f}.tile.ok{border-left:4px solid #52c41a}.lines-table .ant-table-cell{vertical-align:top}.totals{width:100%;max-width:380px;margin-left:auto;border-collapse:collapse}.totals td{padding:3px 8px}.totals td:last-child{text-align:right;font-variant-numeric:tabular-nums}.grand td{font-weight:600;border-top:1px solid #ddd}.subtotal-row td{font-weight:600;background:#fafafa}.login-wrap{min-height:100vh;box-sizing:border-box;padding:24px 16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f4e8c,#3a7bd5)}.login-wrap>.ant-card{width:100%!important;max-width:420px;border-radius:12px;box-shadow:0 12px 40px #0a1e4647}.login-wrap>.ant-card .ant-card-body{padding:32px 32px 28px}.login-wrap form{max-width:none!important}.login-brand{text-align:center;margin-bottom:8px}.login-brand img{height:72px;width:auto;max-width:100%}.login-wrap h5.ant-typography{text-align:center;margin:0 0 20px!important}@media (max-width: 480px){.login-wrap>.ant-card .ant-card-body{padding:24px 20px}}.weight-display{font-size:48px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px}.muted{color:#7a8394}
