:root{color:#20242a;background:#f7f9fc;font-family:IRANSansX,Vazirmatn,Segoe UI,Tahoma,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh}body{margin:0}a{color:inherit;text-decoration:none}.admin-layout{min-height:100vh}.admin-sider{position:sticky;top:0;height:100vh;overflow:auto;border-left:1px solid #e5e7eb}.sidebar-panel{min-height:100%;padding:18px 14px}.brand{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 10px 16px;border-bottom:1px solid #eef2f7}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#fff;background:#2f80ed;font-weight:700}.brand strong,.brand span{display:block}.sidebar-menu{margin-top:16px;border-inline-end:0!important}.sidebar-menu-link{display:flex;align-items:center;justify-content:space-between;width:100%}.admin-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;border-bottom:1px solid #e5e7eb}.header-start{min-width:0;flex:1}.global-search{width:min(460px,46vw)}.api-status-tag,.status-badge{margin-inline-end:0;border-radius:999px}.admin-account-button{display:inline-flex;align-items:center;gap:8px;height:38px}.admin-content{width:100%;max-width:1560px;padding:24px;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-header h1.ant-typography{margin:0 0 6px;font-size:26px;line-height:1.35}.page-breadcrumb{margin-bottom:8px}.dashboard-alert,.stats-grid,.dashboard-grid{margin-bottom:16px}.dashboard-panel{height:100%}.dashboard-panel .ant-card-body{min-width:0}.dashboard-attention-list .ant-list-item{padding:8px 0}.dashboard-list-link{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:12px}.dashboard-ranking-list .ant-list-item,.dashboard-activity-list .ant-list-item{min-height:54px}.dashboard-empty-search-summary{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;margin-bottom:12px}.dashboard-empty-search-summary>.anticon{grid-row:1 / 3;font-size:24px;color:#2f80ed}.dashboard-empty-search-summary strong{font-size:24px;line-height:1.2}.stats-card,.content-card{border:1px solid #e5e7eb;box-shadow:none}.stats-card .ant-card-body{min-height:152px}.stats-card-header{display:flex;justify-content:space-between;width:100%}.stats-card-icon,.attention-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;color:#2f80ed;background:#eaf3ff}.stats-card h2.ant-typography{margin:18px 0 10px;font-size:30px;line-height:1.2}.stats-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.stats-trend{color:#21a67a}.stats-card-skeleton{width:96px!important;margin:18px 0 10px}.chart-shell{position:relative;min-height:320px}.trend-chart{width:100%;height:320px}.chart-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#6b7280;pointer-events:none}.analytics-tabs-bar{position:relative;margin-bottom:16px;padding:0 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.analytics-tabs-bar .ant-tabs-nav{margin-bottom:0}.analytics-definition{position:absolute;inset-inline-end:16px;top:13px}.analytics-section{display:grid;gap:16px;min-width:0}.gamification-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.management-workspace{min-width:0}.management-identity{display:flex;min-width:0;flex-direction:column;gap:2px}.management-icon{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:#2563eb;background:#eff6ff;border-radius:6px}.management-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.management-form-grid .ant-input-number{width:100%}.taxonomy-toolbar{width:min(100%,420px);margin-bottom:4px}.taxonomy-color{width:18px;height:18px;flex:0 0 18px;border:1px solid #d7deea;border-radius:4px}.taxonomy-color-input{width:100%;min-height:32px;padding:3px 8px}.content-tabs>.ant-tabs>.ant-tabs-nav{margin-bottom:16px;padding-inline:4px;background:#fff;border:1px solid #e5e9f0;border-radius:6px}.content-banner-thumb{object-fit:cover;border-radius:4px}.legal-preview-body{max-height:58vh;margin:0;overflow-y:auto;line-height:2;white-space:pre-wrap}.analytics-freshness{display:flex;justify-content:flex-end;min-height:22px}.analytics-metric-card{height:100%;border:1px solid #e5e7eb;box-shadow:none}.analytics-metric-header,.analytics-metric-footer,.analytics-rank-main,.analytics-inline-stats{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-metric-card .ant-statistic{margin:18px 0 12px}.analytics-metric-card .ant-statistic-content{font-size:29px;line-height:1.25}.analytics-metric-footer{min-height:22px}.analytics-trend-up{color:#16845f}.analytics-trend-down{color:#c93647}.analytics-trend-neutral{color:#6b7280}.analytics-block{height:100%;min-width:0}.analytics-block .ant-card-body{min-width:0}.analytics-chart{width:100%;min-width:0}.analytics-ranking-list .ant-list-item{min-height:56px}.analytics-rank-main{justify-content:flex-start;min-width:0;flex:1}.analytics-rank-main>div{min-width:0;flex:1}.analytics-rank-index{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:6px;color:#4b5563;background:#f1f4f8}.analytics-rank-track{height:4px;margin-top:7px;overflow:hidden;border-radius:4px;background:#edf1f5}.analytics-rank-track span{display:block;height:100%;border-radius:inherit;background:#2f80ed}.analytics-api-health{width:100%}.analytics-inline-stats>*{min-width:0;flex:1}.analytics-cohort-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto}.analytics-cohort-table{width:680px;border-spacing:6px;border-collapse:separate}.analytics-cohort-table th,.analytics-cohort-table td{height:42px;padding:8px 12px;border-radius:6px;text-align:center;white-space:nowrap}.analytics-cohort-table th{color:#667085;background:#f5f7fa;font-weight:600}.analytics-cohort-table td:first-child{text-align:right}.analytics-cohort-pending{color:#98a2b3;background:#f6f7f9}.analytics-cohort-zero{color:#667085;background:#edf1f5}.analytics-cohort-low{color:#245c99;background:#dcecff}.analytics-cohort-medium{color:#124a84;background:#a9d1ff}.analytics-cohort-high{color:#fff;background:#2f80ed}.analytics-funnel-select{min-width:210px}.analytics-funnel-list{display:grid;gap:18px}.analytics-funnel-step{min-width:0}.analytics-funnel-step-head,.analytics-funnel-total,.analytics-no-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-funnel-index{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:#fff;background:#344054}.analytics-funnel-track{height:14px;margin-top:9px;overflow:hidden;border-radius:4px;background:#edf1f5}.analytics-funnel-track span{display:block;height:100%;border-radius:inherit;background:#2f80ed}.analytics-funnel-step:nth-child(2) .analytics-funnel-track span{background:#15a46d}.analytics-funnel-step:nth-child(3) .analytics-funnel-track span{background:#f59e0b}.analytics-funnel-step:nth-child(4) .analytics-funnel-track span{background:#d946ef}.analytics-funnel-total{padding-top:14px;border-top:1px solid #e5e7eb}.analytics-path-list .ant-list-item{min-height:54px}.analytics-path-list .ant-space{min-width:0}.analytics-path-list .ant-typography{overflow-wrap:anywhere}.analytics-danger-icon{color:#dc3f4f}.analytics-no-result-head{justify-content:flex-start;gap:56px;margin-bottom:8px}.analytics-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.analytics-location-item{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.analytics-location-item>.anticon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:8px;color:#15a46d;background:#e8f7f1}.analytics-location-item h4.ant-typography{margin:4px 0 0}.recent-activity-card .ant-card-body{min-height:244px}.recent-activity-card h3.ant-typography{margin:0;font-size:18px}.data-table-shell{width:100%}.data-table-toolbar{margin-bottom:14px}.places-table-tools{display:grid;gap:12px}.place-scope-switch{display:grid;gap:8px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.place-scope-switch .ant-segmented{max-width:620px}.place-bulk-action-bar{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #b9d3f5;border-radius:8px;background:#f3f8ff}.place-bulk-action-select{width:min(240px,42vw)}.place-bulk-modal .ant-modal-content{display:flex;max-height:calc(100dvh - 32px);flex-direction:column}.place-bulk-modal .ant-modal-body{min-height:0;flex:1 1 auto;overflow-y:auto}.place-bulk-modal .ant-modal-header,.place-bulk-modal .ant-modal-footer{flex:0 0 auto}.place-bulk-dialog{display:flex;flex-direction:column;gap:18px;padding-top:8px}.place-bulk-section,.place-bulk-field{display:flex;flex-direction:column;gap:8px}.place-bulk-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:10px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.place-bulk-state-group{display:flex;min-width:0;flex-direction:column;gap:5px}.place-bulk-sample-list{border-top:1px solid #e5e7eb}.place-bulk-sample{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5e7eb}.place-bulk-sample .ant-typography{min-width:0;overflow-wrap:anywhere}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-bar-main{min-width:0}.filter-search{width:min(320px,42vw)}.filter-select{min-width:160px}.state-block{display:grid;place-items:center;gap:10px;min-height:220px;color:#6b7280}.state-block-compact{min-height:96px}.state-result{padding:32px 16px}.state-result-compact{padding:18px 8px}.state-result-compact .ant-result-icon{margin-bottom:10px;font-size:28px}.state-result-compact .ant-result-title{font-size:15px}.state-result-compact .ant-result-subtitle{font-size:13px}.confirm-description{margin:0;color:#6b7280;line-height:1.8}.design-section{margin-bottom:16px}.component-sample-card .ant-card-body{min-height:152px}.component-sample-card h3.ant-typography{margin:0 0 18px;font-size:16px}.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.state-grid>*{min-height:150px;border:1px dashed #e5e7eb;border-radius:8px}.full-width{width:100%}.audit-reason,.place-address{max-width:220px}.place-clickable-row{cursor:pointer}.ant-table-tbody>tr.place-suspected-duplicate-row>td{background:#fffaf0}.ant-table-tbody>tr.place-suspected-duplicate-child>td{border-top:1px dashed #f59e0b}.place-detail-drawer .ant-drawer-body{padding-top:16px}.place-detail-text{margin:8px 0 0;color:#6b7280;white-space:pre-wrap}.place-external-link{display:inline-flex;max-width:100%;align-items:center;gap:6px;overflow-wrap:anywhere}.place-external-link>span{min-width:0;overflow-wrap:anywhere}.external-review-source-id{display:block;max-width:135px;direction:ltr;text-align:left}.external-review-rate{font-size:15px;white-space:nowrap}.external-review-image{border-radius:6px;object-fit:cover}.json-preview{max-height:260px;padding:12px;margin:8px 0 0;overflow:auto;direction:ltr;text-align:left;background:#f7f9fc;border:1px solid #e5e7eb;border-radius:8px}.place-edit-form{padding-top:4px}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.feature-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:4px 0 18px}.feature-tag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.feature-tag-grid .ant-checkbox-wrapper{display:flex;gap:8px;align-items:center;min-height:40px;padding:9px 10px;margin-inline-start:0;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.feature-tag-grid .ant-checkbox-wrapper span:last-child{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.feature-checkbox-item{padding:9px 10px;margin-bottom:0;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.feature-checkbox-item .ant-checkbox-wrapper{width:100%}.status-action-section{display:grid;gap:10px;padding:12px 0;border-bottom:1px solid #eef1f5}.status-action-section:last-child{border-bottom:0}.opening-hours-editor{width:100%;margin-bottom:18px}.opening-hours-grid{display:grid;grid-template-columns:1fr;gap:8px}.opening-hours-row{display:grid;grid-template-columns:minmax(92px,1fr) 108px 24px 108px;gap:8px;align-items:center;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.place-image-upload-form{padding:12px;border:1px solid #e5e7eb;border-radius:8px}.place-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.place-image-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.place-image-preview{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#f3f4f6}.place-image-meta{display:flex;flex-direction:column;gap:10px;padding:12px}.place-image-caption{min-height:22px;color:#4b5563}.duplicate-place-pair{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.duplicate-detection-basis{display:flex;min-width:280px;flex-direction:column;gap:6px;line-height:1.65}.duplicate-place-summary{display:flex;min-width:0;flex-direction:column;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.duplicate-place-summary-header{align-items:flex-start}.duplicate-place-address{max-width:100%}.duplicate-merge-dialog{display:flex;flex-direction:column;gap:18px;padding-top:8px}.duplicate-merge-modal .ant-modal-content{display:flex;max-height:calc(100dvh - 32px);flex-direction:column}.duplicate-merge-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.duplicate-merge-modal .ant-modal-header,.duplicate-merge-modal .ant-modal-footer{flex:0 0 auto}.duplicate-primary-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:8px}.duplicate-primary-selector .ant-radio-wrapper{align-items:flex-start;min-width:0;min-height:92px;margin:0;padding:12px;border:1px solid #d1d5db;border-radius:8px}.duplicate-primary-selector .ant-radio-wrapper-checked{border-color:#1677ff;background:#f0f7ff}.duplicate-primary-option{display:flex;min-width:0;flex-direction:column;gap:4px;overflow-wrap:anywhere}.duplicate-merge-preview-frame{min-height:112px;margin-top:8px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.duplicate-merge-preview{display:flex;flex-direction:column;gap:12px}.duplicate-merge-relations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.duplicate-merge-relation{display:flex;min-width:0;flex-direction:column;gap:6px;padding:10px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.duplicate-merge-field{display:flex;flex-direction:column;gap:8px}.duplicate-confirmation-code{display:inline-block;margin-right:6px;padding:1px 5px;font-family:monospace;color:#b42318;border:1px solid #f3b7b2;border-radius:4px;background:#fff1f0}.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.audit-change-tag{max-width:150px;overflow:hidden;text-overflow:ellipsis}.review-text{margin-bottom:0!important}.review-place-name{max-width:180px}.review-rate{font-size:14px;white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.photo-duplicate-groups{display:grid;gap:16px}.photo-duplicate-groups .ant-card-head{background:#fff7ed}.photo-scope-switch{display:grid;gap:8px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.photo-scope-switch .ant-segmented{max-width:620px}.photo-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.photo-card-select{position:absolute;top:10px;right:10px;z-index:1;display:inline-grid;place-items:center;width:28px;height:28px;background:#ffffffeb;border-radius:6px}.photo-card-image{display:block;width:100%;padding:0;overflow:hidden;cursor:pointer;background:#f3f4f6;border:0;aspect-ratio:4 / 3}.photo-card-image img,.photo-table-thumb{width:100%;height:100%;object-fit:cover}.photo-card-body{display:grid;gap:8px;padding:12px}.photo-caption{min-height:44px;margin-bottom:0!important}.photo-table-thumb{width:72px;height:54px;border-radius:6px}.photo-preview-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.photo-preview-media{display:grid;place-items:center;min-height:420px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px}.photo-preview-media .ant-image,.photo-preview-media img{max-width:100%;max-height:70vh;object-fit:contain}.photo-preview-meta{width:100%}.user-table-identity{display:flex;min-width:0;max-width:190px;flex-direction:column}.user-table-identity .ant-typography{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable-table-row{cursor:pointer}.user-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid #e5e7eb}.user-detail-header h3.ant-typography{margin:0 0 8px;font-size:19px}.user-detail-note{margin-bottom:0!important;white-space:pre-wrap}.user-detail-header+.ant-tabs .ant-descriptions-item-content{overflow-wrap:anywhere}.user-action-alert{margin-bottom:16px}.user-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.user-photo-item{display:grid;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:8px}.user-photo-item .ant-image,.user-photo-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px}.user-advanced-control{display:flex!important;margin-top:8px}.user-filter-field{display:grid;gap:8px}.muted-icon{color:#6b7280}.empty-panel{display:grid;place-items:center;min-height:340px;color:#6b7280;text-align:center}.empty-panel p{max-width:520px;margin:0}.mobile-menu-drawer .ant-drawer-body{padding:0}.route-spinner{display:grid;place-items:center;min-height:360px}.login-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:#f7f9fc}.login-panel{width:min(100%,420px)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.login-brand h1.ant-typography{margin:0 0 4px;font-size:24px}.login-card{border:1px solid #e5e7eb;box-shadow:0 10px 30px #20242a0f}.login-alert{margin-bottom:16px}@media(max-width:991px){.admin-header{padding:0 16px}.global-search{width:min(380px,42vw)}.api-status-tag,.admin-account-button span{display:none}.admin-content{padding:18px 14px 24px}.page-header,.filter-bar{align-items:flex-start;flex-direction:column}.filter-search{width:min(100%,420px)}.photo-preview-layout{grid-template-columns:1fr}.user-detail-header{flex-direction:column}.photo-preview-media{min-height:300px}.gamification-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.place-detail-tabs>.ant-tabs-nav .ant-tabs-nav-wrap{overflow:visible}.place-detail-tabs>.ant-tabs-nav .ant-tabs-nav-list{flex-wrap:wrap;transform:none!important}.place-detail-tabs>.ant-tabs-nav .ant-tabs-nav-operations{display:none}.duplicate-merge-modal,.place-bulk-modal{top:16px;padding-bottom:0}.place-bulk-action-bar,.place-bulk-action-bar>.ant-space,.place-bulk-sample{align-items:stretch;flex-direction:column}.place-bulk-action-select,.place-bulk-action-bar>.ant-space .ant-btn{width:100%}.place-bulk-action-bar>.ant-btn{width:32px;align-self:flex-end}.place-bulk-state-grid{grid-template-columns:1fr}.global-search{display:none}.page-header h1.ant-typography{font-size:22px}.stats-card h2.ant-typography{font-size:26px}.filter-select,.filter-search,.filter-bar-main{width:100%}.state-grid,.form-grid-2,.feature-checkbox-grid,.feature-tag-grid{grid-template-columns:1fr}.opening-hours-row{grid-template-columns:1fr 1fr 24px 1fr}.place-image-grid,.duplicate-place-pair,.duplicate-primary-selector,.duplicate-merge-relations{grid-template-columns:1fr}.history-toolbar{align-items:flex-start;flex-direction:column}.analytics-block .ant-card-head{align-items:flex-start;flex-direction:column;gap:8px;padding-top:14px;padding-bottom:10px}.analytics-funnel-select{width:100%}.management-form-grid,.gamification-stats{grid-template-columns:1fr}}
