*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7fb;color:#182230;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) 440px;background:linear-gradient(120deg,rgba(22,119,255,.15),transparent 42%),linear-gradient(315deg,rgba(26,188,156,.16),transparent 38%),#eef3f8}.login-visual{display:flex;flex-direction:column;justify-content:center;padding:56px 8vw}.login-visual h1{margin:0 0 18px;color:#101828;font-size:46px;line-height:1.12;letter-spacing:0}.login-visual p{max-width:560px;margin:0;color:#475467;font-size:18px;line-height:1.8}.login-panel{display:flex;align-items:center;padding:40px;background:#ffffffdb;border-left:1px solid #dde5ee}.login-card{width:100%}.login-card h2{margin:0 0 8px;font-size:26px;color:#101828}.login-card .sub{margin:0 0 28px;color:#667085}.app-shell{min-height:100vh}.app-logo{height:64px;display:flex;align-items:center;padding:0 20px;color:#fff;font-weight:700;font-size:17px;white-space:nowrap}.app-header{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eaecf0}.app-content{padding:24px}.page-title{margin:0 0 18px;font-size:24px;color:#101828}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:16px;margin-bottom:18px}.stat-card{min-height:118px}.stat-card .label{color:#667085;margin-bottom:12px}.stat-card .value{font-size:28px;font-weight:700;color:#101828;word-break:break-word}.table-card{border-radius:8px}.users-page{min-height:calc(100vh - 112px)}.users-list-card{overflow:hidden;background:#fff;box-shadow:none}.users-list-card>.ant-card-body{padding:0}.users-list-toolbar{min-height:72px;margin:0;padding:16px 0;gap:0}.users-list-toolbar .ant-form-item{margin-right:28px;margin-bottom:0}.users-list-toolbar .ant-form-item:nth-child(3){margin-right:28px}.users-list-toolbar>.ant-btn{min-width:64px;margin-right:12px}.users-phone-filter,.users-nickname-filter{width:200px}.users-list-table .ant-table{border-radius:8px 8px 0 0}.users-list-table .ant-table-container{border-start-start-radius:8px;border-start-end-radius:8px}.users-list-table .ant-table-thead>tr>th{height:54px;padding:14px 16px;color:#101828;font-weight:600;background:#fafafa;border-bottom:1px solid #f0f0f0}.users-list-table .ant-table-tbody>tr>td{height:57px;padding:12px 16px;color:#101828;border-bottom:1px solid #f0f0f0}.users-list-table .ant-table-tbody>tr:hover>td{background:#fafcff!important}.users-list-table .ant-tag{margin-inline-end:0}.users-list-table .ant-btn-sm{width:26px;height:26px;padding:0}.users-list-table .ant-pagination{margin:16px 0 0;padding-bottom:2px}.company-detail-section-title{margin:20px 0 12px;font-size:18px;font-weight:600;color:#101828}.company-detail-preview{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.company-detail-text{margin:0;color:#344054;line-height:1.8;white-space:pre-wrap}.company-detail-image-wrap{overflow:hidden;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.company-detail-image{display:block;width:100%;max-height:360px;object-fit:contain;background:#f8fafc}.company-detail-empty{padding:18px;color:#667085;border:1px dashed #d0d5dd;border-radius:12px;background:#fcfcfd}.admin-company-detail-drawer .ant-drawer-body{padding:20px;background:#f5f7fb}.admin-company-detail-loading-card,.admin-company-detail-loading-card>.ant-card-body{padding:0;background:transparent}.admin-company-detail-hero,.admin-company-detail-section{border:1px solid #e4e7ec;border-radius:6px;box-shadow:none}.admin-company-detail-hero{margin-bottom:16px}.admin-company-detail-identity{display:flex;align-items:center;gap:18px}.admin-company-detail-logo{width:80px;height:80px;flex:0 0 80px;overflow:hidden;display:grid;place-items:center;border:1px solid #dbe5f0;border-radius:10px;background:#f2f6ff;color:#1677ff;font-size:30px;font-weight:700}.admin-company-detail-logo .ant-image,.admin-company-detail-logo img{width:80px;height:80px;object-fit:cover}.admin-company-detail-heading{min-width:0;flex:1}.admin-company-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.admin-company-detail-title-row h2{margin:0;color:#101828;font-size:26px;line-height:1.3}.admin-company-detail-meta,.admin-company-detail-admin-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#667085}.admin-company-detail-meta{margin-top:8px}.admin-company-detail-meta span+span,.admin-company-detail-admin-meta span+span{position:relative;padding-left:18px}.admin-company-detail-meta span+span:before,.admin-company-detail-admin-meta span+span:before{position:absolute;left:0;color:#d0d5dd;content:"·"}.admin-company-detail-admin-meta{margin-top:10px;font-size:12px}.admin-company-review-note{margin:12px 0 0;padding:9px 12px;border-left:3px solid #f79009;background:#fffaeb;color:#93370d}.admin-company-review-note.is-rejected{border-left-color:#f04438;background:#fef3f2;color:#912018}.admin-company-detail-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:16px;margin-bottom:16px}.admin-company-detail-section{margin-bottom:16px}.admin-company-detail-columns .admin-company-detail-section{height:100%;margin-bottom:0}.admin-company-detail-section .ant-card-head{min-height:48px;border-bottom-color:#eaecf0}.admin-company-detail-section .ant-card-head-title{color:#344054;font-size:16px}.admin-company-overview-item+.admin-company-overview-item{margin-top:18px;padding-top:18px;border-top:1px solid #f0f2f5}.admin-company-overview-item>span,.admin-company-contact-row span{display:block;margin-bottom:6px;color:#667085;font-size:13px}.admin-company-overview-item p,.admin-company-contact-row p{margin:0;color:#344054;line-height:1.75;white-space:pre-wrap}.admin-company-contact-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:14px 0}.admin-company-contact-row+.admin-company-contact-row{border-top:1px solid #f0f2f5}.admin-company-contact-row>.anticon{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#eff6ff;color:#1677ff}.admin-company-contact-row a{overflow-wrap:anywhere}.admin-company-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-company-attachment-card{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e4e7ec;border-radius:6px;background:#fff}.admin-company-attachment-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:#f2f4f7;color:#475467;font-size:19px}.admin-company-attachment-copy{min-width:0}.admin-company-attachment-copy strong,.admin-company-attachment-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-company-attachment-copy strong{color:#344054;font-weight:500}.admin-company-attachment-copy span{margin-top:4px;color:#98a2b3;font-size:12px}.admin-company-detail-content{max-width:820px;margin:0 auto}.admin-company-detail-content p{margin:0 0 14px;color:#344054;line-height:1.8;white-space:pre-wrap}.admin-company-detail-content .ant-image{display:block;margin:0 auto 14px}.admin-company-detail-content img{display:block;max-width:100%;border-radius:6px}.admin-info-detail-drawer .ant-drawer-body{padding:0;background:#f5f7fb}.admin-info-detail-drawer .ant-drawer-body>.ant-card{background:transparent}.admin-info-detail{padding:20px}.admin-info-detail-hero,.admin-info-detail-section{border:1px solid #e4e7ec;border-radius:6px;background:#fff}.admin-info-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px}.admin-info-detail-title-row{min-width:0}.admin-info-detail-title-row h2{margin:0 0 10px;overflow-wrap:anywhere;color:#101828;font-size:23px;line-height:1.4}.admin-info-detail-budget{flex:0 0 auto;min-width:130px;padding:12px 16px;border-left:3px solid #1677ff;background:#f0f6ff}.admin-info-detail-budget span,.admin-info-detail-budget strong{display:block}.admin-info-detail-budget span{margin-bottom:3px;color:#667085;font-size:12px}.admin-info-detail-budget strong{color:#1677ff;font-size:20px}.admin-info-detail-section{margin-top:14px;padding:18px 20px}.admin-info-detail-section h3{margin:0 0 16px;padding-left:10px;border-left:3px solid #1677ff;color:#344054;font-size:16px}.admin-info-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #eaecf0;border-left:1px solid #eaecf0}.admin-info-detail-grid>div{min-width:0;display:grid;grid-template-columns:88px minmax(0,1fr);border-right:1px solid #eaecf0;border-bottom:1px solid #eaecf0}.admin-info-detail-grid span,.admin-info-detail-grid strong{padding:10px 12px}.admin-info-detail-grid span{background:#f8fafc;color:#667085;font-weight:500}.admin-info-detail-grid strong{overflow-wrap:anywhere;color:#344054;font-weight:400}.admin-info-detail-description{min-height:96px;margin:0;color:#475467;line-height:1.85;white-space:pre-wrap}.admin-info-review-result{padding:13px 14px;border-left:3px solid #f79009;background:#fffaeb}.admin-info-review-result.is-rejected{border-left-color:#f04438;background:#fef3f2}.admin-info-review-result.is-approved{border-left-color:#12b76a;background:#ecfdf3}.admin-info-review-result p{margin:8px 0 0;color:#475467;line-height:1.7;white-space:pre-wrap}.admin-info-review-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;color:#667085;font-size:12px}@media (max-width: 980px){.login-page{grid-template-columns:1fr}.login-visual{min-height:42vh}.login-panel{border-left:0;border-top:1px solid #dde5ee}.stat-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.admin-company-detail-columns,.admin-company-attachment-grid,.admin-info-detail-grid{grid-template-columns:1fr}}@media (max-width: 640px){.login-visual{padding:36px 24px}.login-visual h1{font-size:34px}.login-panel,.app-content{padding:18px}.stat-grid{grid-template-columns:1fr}.users-list-toolbar{align-items:stretch;padding:12px 0}.users-list-toolbar .ant-form-item{width:100%;margin-right:0;margin-bottom:10px}.users-list-toolbar .ant-select,.users-phone-filter,.users-nickname-filter{width:100%!important}.admin-company-detail-drawer .ant-drawer-body{padding:14px}.admin-company-detail-identity{align-items:flex-start}.admin-company-detail-logo,.admin-company-detail-logo .ant-image,.admin-company-detail-logo img{width:60px;height:60px}.admin-company-detail-logo{flex-basis:60px;font-size:24px}.admin-company-detail-title-row h2{font-size:21px}.admin-info-detail{padding:14px}.admin-info-detail-hero{align-items:stretch;flex-direction:column;padding:18px}.admin-info-detail-budget{width:100%}.admin-info-detail-section{padding:16px}}
