@import url(https://fonts.googleapis.com/css2?family=Jua&family=Noto+Sans+KR:wght@400;500;700&display=swap);.dashboard{background:linear-gradient(180deg,#ffffff6b 0,#fff0 220px),var(--color-bg-page);min-height:100vh;padding:28px 32px}.dashboard-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.dashboard h1{color:var(--color-text-primary);font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0}.dashboard-date{color:var(--color-text-muted);font-size:14px;font-weight:400}.dashboard-role-badge{margin-left:auto}.dashboard-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:400px}.dashboard-loading p{margin-top:16px}.store-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.store-tab{background:color-mix(in srgb,var(--color-bg-card) 92%,var(--color-primary-soft) 8%);border:1px solid var(--color-border);border-radius:var(--radius-button);color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.store-tab:hover{border-color:color-mix(in srgb,var(--color-primary) 42%,#fff);color:var(--color-primary-hover);transform:translateY(-1px)}.store-tab.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-color:var(--color-primary-hover);box-shadow:0 6px 14px #2f7dff40;color:#fff}.store-summary-card{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;padding:20px;transition:box-shadow .2s,transform .2s}.store-summary-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.store-summary-header{border-bottom:1px solid var(--color-border-light);margin-bottom:16px;padding-bottom:12px}.store-summary-name{color:var(--color-text-primary);font-size:16px;font-weight:700}.store-summary-metrics{grid-gap:6px 16px;display:grid;gap:6px 16px;grid-template-columns:1fr 1fr}.store-metric{align-items:center;display:flex;justify-content:space-between}.store-metric-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.store-metric-value{font-size:15px;font-weight:700}.metric-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(6,1fr);margin-bottom:28px}.metric-card{background:linear-gradient(180deg,#fff 0,var(--color-bg-elevated) 100%);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-height:auto;padding:16px;position:relative;transition:box-shadow .2s,transform .2s}.metric-card--hero{grid-column:span 2}.revenue-compare{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:8px;display:flex;gap:8px;margin-top:10px;padding:8px 12px}.revenue-compare-label{color:var(--color-text-muted);font-size:12px;font-weight:500}.revenue-compare-value{color:var(--color-text-primary);font-size:15px;font-weight:700}.revenue-compare-badge{border-radius:6px;font-size:12px;font-weight:600;margin-left:auto;padding:2px 8px}.revenue-compare-badge.up{background:#ecfdf5;color:#059669}.revenue-compare-badge.down{background:#fef2f2;color:#dc2626}.revenue-sub{color:var(--color-text-muted);display:flex;font-size:12px;gap:16px;margin-top:8px}.revenue-sub strong{color:var(--color-text-primary);font-weight:600}.metric-card:before{background:var(--accent);border-radius:var(--radius-card) var(--radius-card) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.metric-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.metric-top{justify-content:space-between;margin-bottom:12px}.metric-icon,.metric-top{align-items:center;display:flex}.metric-icon{border-radius:10px;font-size:16px;height:36px;justify-content:center;width:36px}.metric-value{color:var(--color-text-primary);font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.metric-suffix{color:var(--color-text-muted);font-size:14px;font-weight:400;margin-left:4px}.metric-title{color:var(--color-text-heading);font-size:13px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}.metric-spark{display:flex;justify-content:flex-end;margin-top:12px}.hourly-chart{position:relative;width:100%}.hourly-bars{align-items:flex-end;display:flex;gap:2px;height:100%;padding:0 4px}.hourly-bar-col{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;position:relative}.hourly-bar{background:#3b82f6;border-radius:3px 3px 0 0;min-height:2px;opacity:.6;transition:opacity .15s,background .15s;width:100%}.hourly-bar-col:hover .hourly-bar{opacity:1}.hourly-bar.current{background:#ef4444;opacity:.9}.hourly-bar-col.current{background:#ef44440d;border-radius:4px}.hourly-label{color:var(--color-text-muted);font-size:10px;margin-top:4px;min-height:14px}.hourly-tooltip{background:var(--color-text-primary);border-radius:4px;bottom:calc(100% + 4px);box-shadow:0 2px 6px #00000026;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;pointer-events:none;white-space:nowrap;z-index:10}.hourly-tooltip,.hourly-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.hourly-tooltip:after{border:4px solid #0000;border-top:4px solid var(--color-text-primary);content:"";top:100%}.category-bar-wrapper{margin-top:10px}.category-bar{background:var(--color-border-light);border-radius:3px;display:flex;height:6px;overflow:hidden}.category-bar-segment{min-width:3px;transition:width .3s}.category-bar-labels{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.category-bar-label{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:10px;font-weight:500;gap:3px;white-space:nowrap}.category-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.category-dot,.sparkline-container{display:inline-block}.sparkline-svg{cursor:crosshair;display:block}.sparkline-tooltip{background:var(--color-bg-card);border:1.5px solid;border-radius:4px;box-shadow:0 1px 4px #0000001f;color:var(--color-text-primary);font-size:11px;font-weight:700;padding:2px 6px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:10}.change-badge-group{align-items:flex-end;display:flex;flex-direction:column;gap:3px}.metric-badges{align-items:center;display:flex;gap:6px}.change-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;gap:3px;padding:3px 8px}.change-badge.up{background:#ecfdf5;color:#059669}.change-badge.down{background:#fef2f2;color:#dc2626}.change-badge.neutral{background:var(--color-border-light);color:var(--color-text-muted)}.week-compare-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.week-compare-badge.up{background:#f0fdf4;color:#16a34a}.week-compare-badge.down{background:#fff1f2;color:#e11d48}.week-compare-badge.neutral{background:var(--color-border-light);color:var(--color-text-muted)}.anomaly-icon{align-items:center;animation:anomaly-pulse 1.5s ease-in-out infinite;display:inline-flex;font-size:14px}.anomaly-icon.warning{color:#f59e0b}.anomaly-icon.critical{color:#dc2626}@keyframes anomaly-pulse{0%,to{opacity:1}50%{opacity:.5}}.alert-banner{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.alert-banner-item{align-items:center;border-radius:var(--radius-card);display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px 18px}.alert-banner-item.warning{background:#fffbeb;border:1px solid #fbbf24;color:#92400e}.alert-banner-item.critical{background:#fef2f2;border:1px solid #f87171;color:#991b1b}.dashboard-role-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-button);color:#3b82f6;font-size:12px;font-weight:600;padding:4px 12px}.metric-grid-compact{grid-template-columns:repeat(3,1fr)}.section-title{color:var(--color-text-heading);font-size:17px;font-weight:600;letter-spacing:-.01em;margin:32px 0 16px}.trend-card{border:1px solid var(--color-border-light)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important}.trend-card .ant-card-head{border-bottom:1px solid var(--color-border-light);min-height:auto;padding:12px 20px}.trend-card .ant-card-body{padding:16px 20px 12px}.trend-card-title{align-items:center;color:var(--color-text-heading);display:flex;font-size:14px;font-weight:600;gap:8px}.trend-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.area-chart-wrapper{display:flex;flex-direction:column;position:relative;width:100%}.area-chart-svg-container{cursor:crosshair;flex:1 1;position:relative;width:100%}.area-chart-svg{display:block;height:100%;width:100%}.area-chart-guide{background:repeating-linear-gradient(180deg,#94a3b8 0,#94a3b8 3px,#0000 0,#0000 6px);bottom:0;opacity:.5;top:0;transform:translateX(-.5px);width:1px}.area-chart-dot,.area-chart-guide{pointer-events:none;position:absolute}.area-chart-dot{background:#fff;border:2px solid;border-radius:50%;height:8px;transform:translate(-50%,-50%);width:8px;z-index:2}.area-chart-tooltip{background:var(--color-bg-card);border-radius:4px;box-shadow:0 1px 6px #00000026;font-size:12px;font-weight:700;padding:3px 8px;pointer-events:none;position:absolute;transform:translate(calc(-100% - 10px),-50%);white-space:nowrap;z-index:3}.area-chart-tooltip.flip-right{transform:translate(10px,-50%)}.area-chart-labels{display:flex;flex-shrink:0;justify-content:space-between;padding:4px 2px 0}.area-chart-col{align-items:center;display:flex;flex-direction:column;overflow:visible;white-space:nowrap;width:0}.area-chart-val{font-size:12px;font-weight:700;line-height:1.2}.area-chart-date{font-size:11px;margin-top:2px}.area-chart-date,.no-data{color:var(--color-text-muted)}.no-data{align-items:center;display:flex;font-size:14px;height:100%;justify-content:center;min-height:120px}.cancel-inline{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:20px;margin-bottom:20px;padding:10px 16px}.cancel-item{align-items:center;display:inline-flex;gap:5px}.cancel-item strong{color:var(--color-text-primary);font-size:15px}.overview-bar{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:14px 20px}.overview-item{display:flex;flex-direction:column;gap:2px}.overview-label{color:var(--color-text-muted);font-size:11px;font-weight:500}.overview-value{color:var(--color-text-primary);font-size:17px;font-weight:700;letter-spacing:-.02em}.overview-value small{color:var(--color-text-muted);font-size:11px;font-weight:400;margin-left:2px}.store-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.summary-row{margin-bottom:24px}.summary-card{background:linear-gradient(180deg,#fff 0,var(--color-bg-elevated) 100%);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px 16px;text-align:center}.summary-icon{color:var(--color-text-secondary);font-size:20px;margin-bottom:8px}.summary-value{color:var(--color-text-primary);font-size:24px;font-weight:700;letter-spacing:-.02em}.summary-value span{color:var(--color-text-muted);font-size:13px;font-weight:400;margin-left:3px}.summary-label{color:var(--color-text-secondary);font-size:13px;font-weight:500;margin-top:4px}@media (max-width:1400px){.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-card--hero{grid-column:span 1}.store-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard{padding:16px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px}.dashboard-role-badge{margin-left:0}.dashboard h1{font-size:22px}.metric-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.metric-card{padding:16px}.metric-value{font-size:26px}.metric-spark{margin-top:8px}.area-chart-val{font-size:10px}.area-chart-date{font-size:9px}.trend-card .ant-card-body{padding:12px 14px 8px}.summary-value{font-size:20px}.store-tabs{gap:6px}.store-tab{font-size:13px;padding:6px 14px}.store-grid{grid-template-columns:1fr}.metric-card--hero{grid-column:span 1}.overview-bar{gap:14px;padding:12px 14px}}@media (max-width:480px){.metric-grid{grid-template-columns:1fr}.metric-value{font-size:22px}.metric-icon{font-size:14px;height:30px;width:30px}}.members-page{padding:24px}.members-page .page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.members-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.members-page .page-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.members-page .table-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.members-page .table-card>.ant-card-body{padding:12px 16px}.members-page .ant-table-thead>tr>th{background:#fafafa;color:var(--color-text-primary);font-weight:600}.members-page .ant-table-tbody>tr:hover>td{background:var(--color-bg-elevated)}.members-page .member-id{color:var(--color-text-secondary);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:12px}.members-page .coin-balance{color:var(--color-warning);font-weight:600}.members-page .empty{color:var(--color-text-muted);font-style:italic}@media (max-width:768px){.members-page{padding:16px}.members-page .page-header h1{font-size:20px}.members-page .page-toolbar{align-items:stretch;flex-direction:column}}.member-detail{padding:24px}.member-detail-error,.member-detail-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px}.member-detail-error p,.member-detail-loading p{margin-top:16px}.detail-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.detail-header h1{color:#1a1a2e;flex:1 1;font-size:24px;font-weight:600;margin:0}.info-card{border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:16px}.info-card .ant-card-head{border-bottom:1px solid #f0f0f0}.info-card .ant-card-head-title{font-weight:600}.qr-code{color:#666;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px;word-break:break-all}.coin-card .ant-card-body{padding:24px}.coin-balance-display{align-items:center;display:flex;gap:16px;justify-content:center}.balance-label{color:#666;font-size:16px}.balance-value{color:#faad14;font-size:36px;font-weight:700}.tx-id{color:#666;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px}.amount-positive{color:#52c41a;font-weight:600}.amount-negative{color:#fa8c16;font-weight:600}.earn-modal-content{padding:16px 0}.earn-field{margin-bottom:16px}.earn-field:last-child{margin-bottom:0}.earn-field label{color:#333;display:block;font-weight:500;margin-bottom:8px}.family-card{border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:16px}.family-card .ant-card-head{background:linear-gradient(135deg,#e0f2f1,#e3f2fd);border-radius:12px 12px 0 0}.family-card .ant-card-head-title{color:#00796b;font-weight:600}.family-parent-section{background-color:#f5f5f5;border-radius:8px;margin-bottom:16px;padding:16px}.family-parent-section h4{color:#666;font-size:14px;font-weight:500;margin:0 0 12px}.parent-link{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.parent-link:hover{background-color:#e8f5e9;border-color:#4caf50}.parent-link .anticon{color:#4caf50;font-size:24px}.parent-link-info{flex:1 1}.parent-link-info .name{color:#333;font-size:16px;font-weight:600}.parent-link-info .phone{color:#666;font-size:13px;margin-top:2px}.family-summary{background:linear-gradient(135deg,#e3f2fd,#e8f5e9);border-radius:8px;display:flex;gap:24px;margin-bottom:20px;padding:16px}.summary-item{flex:1 1;text-align:center}.summary-item .label{color:#666;font-size:13px;margin-bottom:4px}.summary-item .value{color:#1976d2;font-size:24px;font-weight:700}.summary-item .value.coin{color:#f9a825}.family-children-section{margin-bottom:20px}.family-children-section h4{align-items:center;color:#333;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 12px}.family-children-section .add-child-btn{margin-left:auto}.family-transfer-section{border-top:1px dashed #e0e0e0;margin-top:20px;padding-top:20px}.family-transfer-section h4{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.add-child-modal-content{padding:16px 0}.add-child-field{margin-bottom:16px}.add-child-field:last-child{margin-bottom:0}.add-child-field label{color:#333;display:block;font-weight:500;margin-bottom:8px}.add-child-field label .required{color:#f5222d;margin-left:4px}.add-child-hint{color:#999;font-size:12px;margin-top:4px}.add-child-info{background-color:#f5f5f5;border-radius:8px;margin-top:20px;padding:16px}.add-child-info p{color:#666;font-size:13px;margin:0 0 8px}.add-child-info p:last-child{margin-bottom:0}.family-member-item{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;padding:12px 16px}.family-member-item.parent{background-color:#f1f8f1;border-color:#4caf50}.family-member-item .member-name{color:#333;font-size:15px;font-weight:600;min-width:80px}.family-member-item .member-phone{color:#666;font-size:13px}.family-member-item .member-balance{color:#f9a825;font-weight:600;margin-left:auto}.no-children,.no-family{color:#999;padding:32px;text-align:center}.no-children p,.no-family p{font-size:14px;margin:0}.member-type-tag{margin-left:8px}.member-type-tag.SINGLE{background-color:#f5f5f5;border-color:#d9d9d9;color:#666}.member-type-tag.PARENT{background-color:#e8f5e9;border-color:#a5d6a7;color:#2e7d32}.member-type-tag.CHILD{background-color:#fff3e0;border-color:#ffcc80;color:#e65100}@media (max-width:768px){.member-detail{padding:16px}.detail-header{flex-wrap:wrap}.detail-header h1{font-size:20px;margin-bottom:16px;order:-1;width:100%}.balance-value{font-size:28px}}.passports-page{padding:24px}.passports-page .page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.passports-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.passports-page .page-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.passports-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.passports-page .summary-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center}.passports-page .summary-card .ant-card-body{padding:14px 10px}.passports-page .summary-card .ant-statistic-title{color:var(--color-text-secondary);font-size:12px;font-weight:500;margin-bottom:6px}.passports-page .summary-card .ant-statistic-content{align-items:baseline;display:flex;font-size:22px;gap:4px;justify-content:center;line-height:1.2}.passports-page .summary-card .ant-statistic-content-prefix{font-size:16px;margin-right:2px;position:relative;top:-1px}.passports-page .summary-card .ant-statistic-content-suffix{color:var(--color-text-muted);font-size:13px;font-weight:400}.passports-page .summary-card .ant-statistic-content-value{font-weight:700}.passports-store-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.passports-page .store-stat-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.passports-page .store-stat-card .ant-card-body{padding:14px 16px}.passports-page .store-stat-card .store-name{color:var(--color-text-heading);font-size:14px;font-weight:600;margin-bottom:8px}.passports-page .store-stat-card .store-stats-row{color:var(--color-text-secondary);display:flex;font-size:13px;justify-content:space-between}.passports-page .table-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.passports-page .table-card>.ant-card-body{padding:12px 16px}.passports-page .ant-table-thead>tr>th{background:#fafafa;color:var(--color-text-primary);font-weight:600}.passports-page .ant-table-tbody>tr:hover>td{background:var(--color-bg-elevated)}@media (max-width:1200px){.passports-store-grid,.passports-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.passports-page{padding:16px}.passports-page .page-header h1{font-size:20px}.passports-page .page-toolbar{align-items:stretch;flex-direction:column}}@media (max-width:480px){.passports-store-grid,.passports-summary-grid{grid-template-columns:1fr}}.products-page{padding:24px}.products-page .page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.products-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.products-page .page-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.products-page .table-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.products-page .table-card>.ant-card-body{padding:12px 16px}.products-page .ant-table-thead>tr>th{background:#fafafa;color:var(--color-text-primary);font-weight:600}.products-page .ant-table-tbody>tr:hover>td{background:var(--color-bg-elevated)}.products-page .product-id{color:var(--color-text-secondary);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:12px}.products-page .product-price{color:var(--color-text-primary);font-weight:600}.products-page .empty{color:var(--color-text-muted);font-style:italic}@media (max-width:768px){.products-page{padding:16px}.products-page .page-header h1{font-size:20px}.products-page .page-toolbar{align-items:stretch;flex-direction:column}}.stats-page{padding:24px;position:relative}.stats-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px}.stats-loading p{margin-top:16px}.stats-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.stats-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.stats-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.stats-page .store-tabs{display:flex;flex-wrap:wrap;gap:8px}.stats-page .store-tab{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-button);color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s;white-space:nowrap}.stats-page .store-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.stats-page .store-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.date-picker-area{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.stats-page .date-preset-btn.ant-btn{border-color:var(--color-border);border-radius:14px;color:var(--color-text-secondary);font-size:12px;height:auto;line-height:1.5;padding:4px 12px}.stats-page .date-preset-btn.ant-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.stats-page .date-preset-btn.ant-btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.stats-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);margin-bottom:10px}.stats-event-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.stats-event-grid .summary-card .ant-card-body{padding:12px 10px}.stats-page .summary-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center}.stats-page .summary-card .ant-card-body{padding:14px 10px}.stats-page .summary-card .ant-statistic-title{color:var(--color-text-secondary);font-size:12px;font-weight:500;margin-bottom:6px}.stats-page .summary-card .ant-statistic-content{align-items:baseline;display:flex;font-size:22px;gap:4px;justify-content:center;line-height:1.2}.stats-page .summary-card .ant-statistic-content-prefix{font-size:16px;margin-right:2px;position:relative;top:-1px}.stats-page .summary-card .ant-statistic-content-suffix{color:var(--color-text-muted);font-size:13px;font-weight:400}.stats-page .summary-card .ant-statistic-content-value{font-weight:700}.stat-no-data-hint{color:#999;font-size:11px;margin-top:4px}.table-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.table-card>.ant-card-body{padding:12px 16px}.table-card .ant-card-head-title{font-weight:600}.stats-table .ant-table-cell{padding:8px 12px!important}.stats-table--narrow{max-width:520px}.stat-earn{color:#52c41a;font-weight:600}.stat-exchange{color:#fa8c16;font-weight:600}.stat-deposit{color:#1890ff;font-weight:600}.stat-new{color:#722ed1;font-weight:600}.category-revenue-bar{background:#f8f9fa;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px}.category-revenue-item{align-items:center;display:flex;flex-direction:column;min-width:80px}.category-revenue-item .category-label{color:#888;font-size:12px;margin-bottom:2px}.category-revenue-item .category-value{color:#333;font-size:14px;font-weight:600}.category-revenue-item.category-total{border-left:2px solid #e0e0e0;margin-left:auto;padding-left:16px}.category-revenue-item.category-total .category-value{color:#e11d48;font-size:16px}.stats-reload-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff9;border-radius:var(--radius-card);display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.st-chart-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.6fr 1fr;margin-bottom:16px}.st-panel{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:16px 20px}.st-title{color:var(--color-text-heading);font-size:13px;font-weight:600;margin:0 0 12px}.st-bars{align-items:flex-end;display:flex;gap:2px}.st-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.st-bar{border-radius:3px 3px 0 0;max-width:28px;min-height:2px;transition:filter .15s;width:100%}.st-col:hover .st-bar,.st-col:hover .st-stack{filter:brightness(1.12)}.st-x{color:var(--color-text-muted);font-size:10px;white-space:nowrap}.st-stack{border-radius:3px 3px 0 0;display:flex;flex-direction:column-reverse;max-width:28px;overflow:hidden;width:100%}.st-empty{color:var(--color-text-muted);font-size:13px;min-height:100px}.st-donut-wrap,.st-empty{align-items:center;display:flex;justify-content:center}.st-donut-wrap{flex-wrap:wrap;gap:16px}.st-donut-legend{display:flex;flex-direction:column;gap:5px}.st-legend-row{align-items:center;display:flex;font-size:12px;gap:6px}.st-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.st-legend-name{color:var(--color-text-secondary);min-width:40px}.st-legend-val{color:var(--color-text-primary);font-weight:600;min-width:50px;text-align:right}.st-legend-pct{color:var(--color-text-muted);font-size:11px}.st-inline-legend{display:flex;gap:12px;margin-bottom:8px}.st-inline-legend span{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:11px;font-weight:500;gap:4px}.st-metrics{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px;padding:12px 16px}.st-metric-item{display:flex;flex-direction:column;gap:2px}.st-metric-label{color:var(--color-text-muted);font-size:11px}.st-metric-val{font-size:16px;font-weight:700;letter-spacing:-.02em}.fnb-sub-tables{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.fnb-product-table{min-width:0}@media (max-width:1200px){.stats-summary-grid{grid-template-columns:repeat(3,1fr)}.st-chart-row{grid-template-columns:1fr}}@media (max-width:768px){.stats-page{padding:16px}.stats-header h1{font-size:20px}.stats-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.stats-table--narrow{max-width:100%}.stats-summary-grid{grid-template-columns:repeat(2,1fr)}.stats-event-grid{grid-template-columns:repeat(3,1fr)}.summary-card .ant-statistic-content{font-size:20px}.fnb-sub-tables{grid-template-columns:1fr}}@media (max-width:480px){.stats-event-grid,.stats-summary-grid{grid-template-columns:1fr}}.settings-page .page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.settings-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.settings-page .page-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.settings-page .ant-tabs{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px 24px 24px}.settings-page .ant-tabs-nav{margin-bottom:24px!important}.settings-page .ant-tabs-nav:before{border-color:var(--color-border-light)}.settings-page .ant-tabs-tab{color:var(--color-text-secondary);font-size:15px;font-weight:500;padding:12px 20px!important;transition:all .2s}.settings-page .ant-tabs-tab:hover{color:var(--color-primary)}.settings-page .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary)!important;font-weight:600}.settings-page .ant-tabs-ink-bar{background:var(--color-primary);border-radius:3px;height:3px!important}.settings-page .ant-tabs-tab .anticon{font-size:16px;margin-right:8px}.settings-page .ant-card{border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow .2s}.settings-page .ant-card:hover{box-shadow:var(--shadow-card-hover)}.settings-page .ant-card-head{border-bottom:1px solid var(--color-border-light);padding:16px 24px}.settings-page .ant-card-head-title{color:var(--color-text-primary);font-size:16px;font-weight:600}.settings-page .ant-card-body{padding:24px}.settings-page .benefit-info-box,.settings-page .game-info-box,.settings-page .policy-info,.settings-page .system-info-box,.settings-page .theme-info-box{background:var(--color-primary-soft);border-left:4px solid var(--color-primary);border-radius:10px;margin-bottom:20px;padding:16px 20px}.settings-page .benefit-info-box p,.settings-page .game-info-box p,.settings-page .policy-info p,.settings-page .system-info-box p,.settings-page .theme-info-box p{color:var(--color-primary);font-size:14px;line-height:1.6;margin:0}.settings-page .ant-table{border-radius:8px;overflow:hidden}.settings-page .ant-table-thead>tr>th{background:#fafafa;border-bottom:2px solid var(--color-border-light);color:var(--color-text-primary);font-weight:600;padding:10px 16px}.settings-page .ant-table-tbody>tr>td{padding:10px 16px}.settings-page .ant-table-tbody>tr:hover>td{background:var(--color-bg-elevated)}.settings-page .ant-table-tbody>tr.inactive-policy>td{background:#f9f9f9;color:var(--color-text-muted)}.settings-page .ant-tag{border-radius:6px;font-weight:500;min-width:50px;padding:2px 10px;text-align:center}.settings-page .system-category-card{border:1px solid var(--color-border-light);border-radius:var(--radius-card);margin-bottom:16px;overflow:hidden}.settings-page .system-category-card .ant-card-head{background:var(--color-primary);border-bottom:none;padding:12px 20px}.settings-page .system-category-card .ant-card-head-title{color:#fff;font-size:15px}.settings-page .system-category-card .ant-card-body{padding:0}.settings-page .setting-item{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s}.settings-page .setting-item:last-child{border-bottom:none}.settings-page .setting-item:hover{background:var(--color-bg-elevated)}.settings-page .setting-info{flex:1 1}.settings-page .setting-info .setting-key{color:var(--color-text-primary);font-size:14px;font-weight:600;margin-bottom:4px}.settings-page .setting-info .setting-description{color:var(--color-text-secondary);font-size:13px}.settings-page .setting-value{align-items:center;display:flex;gap:12px}.settings-page .setting-value .value-display{color:var(--color-primary);font-size:16px;font-weight:600;min-width:60px;text-align:right}.settings-page .setting-action{margin-left:16px}.settings-page .theme-section{margin-bottom:32px}.settings-page .theme-section-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:18px;font-weight:600;gap:10px;margin-bottom:16px}.settings-page .theme-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.settings-page .theme-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);cursor:pointer;padding:20px;transition:box-shadow .2s,transform .2s}.settings-page .theme-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.settings-page .theme-card.vip-theme{border-left:4px solid #7b1fa2}.settings-page .theme-card.normal-theme{border-left:4px solid #ff9800}.settings-page .theme-card.common-theme{border-left:4px solid var(--color-primary)}.settings-page .theme-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.settings-page .theme-card-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.settings-page .theme-card-description{color:var(--color-text-secondary);font-size:13px;margin-bottom:16px}.settings-page .color-swatch{border:1px solid #0000001a;border-radius:6px;display:inline-block;height:24px;margin-right:8px;vertical-align:middle;width:24px}.settings-page .color-value{background:#f1f5f9;border-radius:4px;color:var(--color-text-primary);font-family:Monaco,Menlo,monospace;font-size:13px;padding:4px 10px}.settings-page .theme-preview-section{border-top:1px solid var(--color-border-light);margin-top:32px;padding-top:32px}.settings-page .theme-preview-section h4{color:var(--color-text-primary);font-size:16px;font-weight:600;margin-bottom:20px}.settings-page .preview-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.settings-page .preview-box{border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.settings-page .preview-header{align-items:center;color:#fff;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:16px 20px}.settings-page .preview-header.vip{background:linear-gradient(135deg,#7b1fa2,#9c27b0 50%,#d4af37)}.settings-page .preview-header.normal{background:linear-gradient(135deg,#ff9800,#ffa726)}.settings-page .preview-header .preview-label{align-items:center;display:flex;gap:8px}.settings-page .preview-header .preview-badge{background:#fff3;border-radius:20px;font-size:12px;padding:4px 12px}.settings-page .preview-body{align-items:center;background:#fff;display:flex;gap:16px;padding:20px}.settings-page .preview-qr{align-items:center;background:#f8fafc;border-radius:8px;display:flex;height:80px;justify-content:center;width:80px}.settings-page .preview-qr.vip{border:4px solid #7b1fa2}.settings-page .preview-qr.normal{border:2px solid #ff9800}.settings-page .preview-qr .anticon{color:var(--color-text-muted);font-size:40px}.settings-page .preview-info .member-name{color:var(--color-text-primary);font-size:16px;font-weight:600;margin-bottom:4px}.settings-page .preview-info .member-coins{color:var(--color-text-secondary);font-size:14px}.settings-page .preview-info .member-coins .coin-count{color:var(--color-warning);font-weight:700}.settings-page .log-item{background:#f8fafc;border-left:3px solid var(--color-primary);border-radius:8px;margin-bottom:12px;padding:16px}.settings-page .log-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.settings-page .log-key{color:var(--color-text-primary);font-size:14px;font-weight:600}.settings-page .log-time{color:var(--color-text-muted);font-size:12px}.settings-page .log-values{align-items:center;display:flex;font-size:13px;gap:8px}.settings-page .log-values .old-value{background:#fff1f0;border-radius:4px;color:var(--color-danger);padding:2px 8px;text-decoration:line-through}.settings-page .log-values .arrow{color:var(--color-text-muted)}.settings-page .log-values .new-value{background:#f6ffed;border-radius:4px;color:var(--color-success);padding:2px 8px}.settings-page .game-info-cell{align-items:center;display:flex;gap:12px}.settings-page .game-icon{font-size:28px;line-height:1}.settings-page .game-id{font-family:Monaco,Menlo,monospace;font-size:12px}.settings-page .coin-amount.vip{color:#7b1fa2;font-weight:600}.settings-page .coin-amount.positive{color:var(--color-success);font-weight:600}.settings-modal .store-map-section,.settings-page .store-map-section{margin:4px 0 34px}.settings-modal .store-map-section__head,.settings-page .store-map-section__head{align-items:center;display:flex;gap:14px;margin-bottom:8px}.settings-modal .store-map-section__title,.settings-page .store-map-section__title{align-items:center;color:var(--color-text-primary);display:inline-flex;font-size:14px;font-weight:600;gap:6px}.settings-modal .store-map-empty,.settings-page .store-map-empty{background:#0000;border:0;border-radius:0;color:var(--color-text-muted);font-size:13px;padding:0}.settings-modal .store-map-add-button,.settings-page .store-map-add-button{margin-left:4px}.settings-modal .store-map-list,.settings-page .store-map-list{display:flex;flex-direction:column;gap:10px}.settings-modal .store-map-row,.settings-page .store-map-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:104px 72px minmax(0,1fr) 36px}.settings-modal .store-map-floor,.settings-page .store-map-floor{width:100%}.settings-modal .store-map-upload-control,.settings-page .store-map-upload-control{align-items:center;display:flex;gap:10px;min-width:0}.settings-modal .store-map-upload-guide,.settings-page .store-map-upload-guide{color:var(--color-text-muted);font-size:12px;white-space:nowrap}.settings-modal .store-map-thumb,.settings-page .store-map-thumb{background:#f8fafc;border:1px solid var(--color-border-light);border-radius:6px;display:block;height:48px;max-height:48px;max-width:72px;object-fit:contain;overflow:hidden;width:72px}.settings-modal .store-map-thumb--empty,.settings-page .store-map-thumb--empty{align-items:center;color:var(--color-text-muted);display:flex;font-size:20px;justify-content:center}.settings-modal .store-map-marker-section,.settings-page .store-map-marker-section{border-top:1px solid var(--color-border-light);padding-top:16px}.settings-modal .store-map-marker-guide,.settings-page .store-map-marker-guide{font-size:12px}.settings-modal .store-map-marker-list,.settings-page .store-map-marker-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}.settings-modal .store-map-marker-row,.settings-page .store-map-marker-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:54px minmax(0,1fr) 42px 126px}.settings-modal .store-map-marker-name,.settings-page .store-map-marker-name{min-width:0}.settings-page .game-header{align-items:center;display:flex;gap:16px}.settings-page .game-icon-large{font-size:40px;line-height:1}.settings-page .tab-badge{margin-left:8px}.settings-page .tab-badge .ant-badge-count{background:var(--color-primary-soft);box-shadow:none;color:var(--color-primary);font-size:11px;font-weight:600}.settings-page .tab-label{align-items:center;display:flex;gap:8px}@media (max-width:992px){.settings-page{padding:16px}.settings-page .ant-tabs{padding:12px 16px 16px}.settings-page .preview-grid,.settings-page .theme-cards{grid-template-columns:1fr}}@media (max-width:768px){.settings-page .page-header h1{font-size:20px}.settings-page .ant-tabs-tab{font-size:13px;padding:10px 12px!important}.settings-page .setting-item{align-items:flex-start;flex-direction:column;gap:12px}.settings-page .setting-value{justify-content:space-between;width:100%}.settings-page .setting-action{margin-left:0}.settings-page .preview-body{flex-direction:column;text-align:center}.settings-modal .store-map-row,.settings-page .store-map-row{gap:8px;grid-template-columns:96px 64px minmax(0,1fr) 32px}.settings-modal .store-map-thumb,.settings-page .store-map-thumb{height:44px;max-height:44px;max-width:64px;width:64px}.settings-modal .store-map-upload-control,.settings-page .store-map-upload-control{align-items:flex-start;flex-direction:column;gap:4px}.settings-modal .store-map-upload-guide,.settings-page .store-map-upload-guide{white-space:normal}}.users-page{padding:24px}.users-page .page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.users-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.users-page .page-toolbar{align-items:center;display:flex;gap:8px;justify-content:flex-end}.users-page .table-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.users-page .table-card>.ant-card-body{padding:12px 16px}.users-page .ant-table-thead>tr>th{background:#fafafa;color:var(--color-text-primary);font-weight:600}.users-page .ant-table-tbody>tr:hover>td{background:var(--color-bg-elevated)}@media (max-width:768px){.users-page{padding:16px}.users-page .page-header h1{font-size:20px}}.events-page{padding:24px}.events-page .page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.events-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:600;margin:0}.events-page .page-toolbar{justify-content:space-between}.events-page .page-toolbar,.events-page .page-toolbar .toolbar-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.events-page .page-toolbar .toolbar-actions{align-items:center;display:flex;gap:8px}.events-page .table-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.events-page .table-card>.ant-card-body{padding:12px 16px}.events-page .ant-table-thead>tr>th{background:#fafafa;color:var(--color-text-primary);font-weight:600}.events-page .ant-table-tbody>tr:hover>td{background:var(--color-bg-elevated)}@media (max-width:768px){.events-page{padding:16px}.events-page .page-header h1{font-size:20px}.events-page .page-toolbar{align-items:stretch;flex-direction:column}}.crm-page{padding:24px}.crm-page .page-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.crm-page .page-header h1{color:var(--color-text-heading);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.crm-page .page-header-sub{color:var(--color-text-muted);font-size:13px}.crm-page .ant-tabs-nav{margin-bottom:20px}.crm-toolbar{flex-wrap:wrap;justify-content:space-between;margin-bottom:16px}.crm-toolbar,.crm-toolbar-left{align-items:center;display:flex;gap:8px}.segment-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:24px}.segment-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;padding:20px;position:relative;transition:box-shadow .2s,transform .2s}.segment-card:before{background:var(--accent);border-radius:var(--radius-card) var(--radius-card) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.segment-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.segment-card-icon{font-size:24px;margin-bottom:8px}.segment-card-name{color:var(--color-text-heading);font-size:15px;font-weight:600;margin-bottom:4px}.segment-card-desc{color:var(--color-text-muted);font-size:12px;line-height:1.4;margin-bottom:12px}.segment-card-count{color:var(--color-text-primary);font-size:28px;font-weight:700;line-height:1}.segment-card-count small{color:var(--color-text-muted);font-size:13px;font-weight:400;margin-left:4px}.segment-card-updated{color:var(--color-text-muted);font-size:11px;margin-top:8px}.rec-list{display:flex;flex-direction:column;gap:12px}.rec-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px;transition:box-shadow .2s}.rec-card:hover{box-shadow:var(--shadow-card-hover)}.rec-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.rec-card-reason{color:var(--color-text-primary);font-size:14px;line-height:1.6}.rec-card-impact{background:var(--color-bg-elevated);border-left:3px solid var(--color-primary);font-size:13px;margin-top:6px;padding:8px 12px}.rec-card-impact,.rec-card-payload{border-radius:8px;color:var(--color-text-secondary)}.rec-card-payload{background:var(--color-bg-page);font-family:SF Mono,Menlo,monospace;font-size:12px;line-height:1.5;margin-top:10px;padding:10px 14px;white-space:pre-wrap;word-break:break-all}.rec-card-footer{align-items:center;border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;margin-top:14px;padding-top:12px}.rec-card-meta{color:var(--color-text-muted);font-size:12px}.rec-card-actions{display:flex;gap:8px}.rec-card-reject-reason{background:#fef2f2;border-radius:8px;color:#991b1b;font-size:13px;margin-top:8px;padding:8px 12px}.crm-empty{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:200px}.crm-page .table-card{border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.crm-generating{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.crm-generating p{font-size:14px;font-weight:500}@media (max-width:768px){.crm-page{padding:16px}.crm-page .page-header h1{font-size:20px}.segment-grid{grid-template-columns:1fr}.crm-toolbar{align-items:stretch;flex-direction:column}.rec-card-footer{align-items:flex-start;flex-direction:column;gap:8px}}.animals-page{padding:24px}.animals-page__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.animals-page__header h1{align-items:center;color:var(--color-text-primary);display:flex;font-size:24px;font-weight:700;gap:10px;margin:0}.animals-page__header p{color:var(--color-text-secondary);margin:8px 0 0}.animals-page__card{border:0;box-shadow:var(--shadow-sm)}.animals-page__toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.animals-page__toolbar .ant-select{min-width:155px}.animals-page__toolbar--feed{justify-content:space-between}.animals-page__search{width:min(340px,100%)}.animals-page__animal-image{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.625rem;color:var(--color-text-secondary);display:flex;height:3rem;justify-content:center;margin:0 auto;overflow:hidden;width:3rem}.animals-page__animal-image--profile{border-radius:50%}.animals-page__animal-image>img{height:100%;object-fit:cover;width:100%}.animals-page__animal-image>.anticon{font-size:1.25rem}.animals-page__animal-image-uploader{display:flex;justify-content:center}.animals-page__animal-image-button{background:#0000;border:0;border-radius:.625rem;cursor:pointer;padding:0;position:relative}.animals-page__animal-image-button:hover:not(:disabled) .animals-page__animal-image{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.animals-page__animal-image-button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.animals-page__animal-image-button:disabled{cursor:not-allowed;opacity:.7}.animals-page__animal-image-upload-icon{align-items:center;background:var(--color-primary);border:2px solid var(--color-bg-card);border-radius:50%;bottom:-.25rem;color:#fff;display:flex;font-size:.6875rem;height:1.25rem;justify-content:center;position:absolute;right:-.25rem;width:1.25rem}.animals-page__animal-image-input{display:none}.animals-page__animal-name{display:flex;flex-direction:column;gap:2px}.animals-page__animal-name span,.animals-page__muted{color:var(--color-text-secondary);font-size:12px}.animals-page__feed-cell,.animals-page__store-cell{height:1px;padding:0!important}.animals-page__store-summary{border:0;border-radius:0;gap:8px;min-height:72px;padding:16px}.animals-page__feed-summary,.animals-page__store-summary{align-items:center;background:#0000;color:inherit;cursor:pointer;display:flex;flex-wrap:wrap;font:inherit;height:100%;text-align:left;transition:background-color .2s ease;width:100%}.animals-page__feed-summary{border:0;min-height:4.5rem;padding:1rem}.animals-page__feed-summary:hover{background:var(--color-border-light)}.animals-page__feed-summary:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.animals-page__drawer-section-title{color:var(--color-text-primary);margin:0 0 .75rem}.animals-page__feed-picker{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.animals-page__feed-card-grid{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:minmax(0,1fr);max-height:20rem;overflow-y:auto}.animals-page__feed-card{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.625rem;color:var(--color-text-primary);display:flex;font:inherit;font-weight:600;gap:.75rem;justify-content:space-between;min-height:4.5rem;padding:.875rem 1rem;text-align:left;width:100%}.animals-page__feed-card-content{align-items:center;display:flex;gap:.75rem;min-width:0}.animals-page__food-image{align-items:center;background:var(--color-border-light);border:1px solid var(--color-border);border-radius:.625rem;color:var(--color-text-secondary);display:flex;flex:0 0 auto;font-size:1.25rem;height:3rem;justify-content:center;overflow:hidden;width:3rem}.animals-page__food-image img{height:100%;object-fit:cover;width:100%}.animals-page__food-image-uploader{display:flex;justify-content:center}.animals-page__food-image-button{background:#0000;border:0;border-radius:.625rem;cursor:pointer;min-height:3rem;min-width:3rem;padding:0;position:relative}.animals-page__food-image-button:hover:not(:disabled) .animals-page__food-image{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.animals-page__animal-name-button,.animals-page__food-name-button{background:#0000;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left;width:100%}.animals-page__animal-name-button:hover strong,.animals-page__food-name-button:hover strong{color:var(--color-primary);text-decoration:underline;text-underline-offset:.1875rem}.animals-page__animal-name-button:focus-visible,.animals-page__food-name-button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.animals-page__animal-form{display:flex;flex-direction:column;gap:.75rem}.animals-page__animal-form>label{color:var(--color-text-primary);font-weight:600}.animals-page__animal-form>.ant-btn{margin-top:1rem}.animals-page__food-create-form{display:flex;flex-direction:column;gap:.75rem}.animals-page__food-create-form>label,.animals-page__food-create-label{color:var(--color-text-primary);font-weight:600}.animals-page__food-create-label{margin-top:.5rem}.animals-page__food-create-image{align-items:center;background:var(--color-bg-card);border:1px dashed var(--color-border);border-radius:.625rem;cursor:pointer;display:flex;gap:.75rem;min-height:5rem;padding:1rem;width:100%}.animals-page__food-create-image:hover{border-color:var(--color-primary);color:var(--color-primary)}.animals-page__animal-create-image{justify-content:center;text-align:center}.animals-page__food-create-form>.ant-btn{margin-top:1rem}.animals-page__registered-feed-chips{display:flex;flex-wrap:wrap;gap:.5rem}.animals-page__registered-feed-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:.9375rem;line-height:1.25rem;margin:0;min-height:2rem;padding:.25rem .75rem}.animals-page__registered-feed-chip .ant-tag-close-icon{-webkit-margin-start:.5rem;color:#08979c;font-size:.875rem;margin-inline-start:.5rem}.animals-page__registered-feed-chip .ant-tag-close-icon:hover{color:#006d75}.animals-page__feed-card--candidate{cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.animals-page__feed-card--candidate.is-selected,.animals-page__feed-card--candidate:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.animals-page__feed-card--candidate:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.animals-page__published-switch{background:#8c8c8c;min-width:4.5rem}.animals-page__published-switch.ant-switch-checked{background:var(--color-primary)}.animals-page__published-switch .ant-switch-inner{font-weight:600}.animals-page__feed-card-check{align-items:center;border:1px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:flex;flex:0 0 auto;height:1.25rem;justify-content:center;width:1.25rem}.animals-page__feed-card--candidate.is-selected .animals-page__feed-card-check{border-color:var(--color-primary)}.animals-page__store-summary:hover{background:var(--color-border-light)}.animals-page__store-summary:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.animals-page__registered-stores{display:flex;flex-direction:column;gap:10px;margin-top:18px}.animals-page__registered-store{grid-gap:10px;align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;display:grid;gap:10px;grid-template-columns:80px minmax(150px,1fr) 40px;padding:12px}.animals-page__add-store-title{color:var(--color-text-primary);margin:0 0 10px}.animals-page__add-store-select{width:100%}.animals-page__map-count-button{height:auto;padding:4px}.animals-page__map-count-button .ant-tag{-webkit-margin-end:0;margin-inline-end:0}.animals-page__map-drawer>.ant-tag{margin-bottom:8px}.animals-page__map-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.animals-page__floor-selector{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;margin:-.25rem 0 1.25rem;padding:.1875rem}.animals-page__floor-selector .ant-segmented-item{border-radius:.375rem;color:var(--color-text-secondary);font-weight:600;min-height:2.75rem;min-width:4rem}.animals-page__floor-selector .ant-segmented-item-label{align-items:center;display:flex;justify-content:center;min-height:2.75rem;padding:0 1rem}.animals-page__floor-selector .ant-segmented-item-selected{background:var(--color-primary);box-shadow:none;color:#fff}.animals-page__floor-selector .ant-segmented-item:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.animals-page__map-stage{background:#f8fafc;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;position:relative;width:100%}.animals-page__map-stage--placing{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);cursor:crosshair}.animals-page__map-stage>img{display:block;height:auto;-webkit-user-select:none;user-select:none;width:100%}.animals-page__map-pin{align-items:center;color:#ef4444;display:flex;filter:drop-shadow(0 2px 2px rgba(15,23,42,.28));flex-direction:column;pointer-events:none;position:absolute;transform:translate(-50%,-100%)}.animals-page__map-pin>.anticon{font-size:34px}.animals-page__map-pin>span{background:#fffffff0;border-radius:10px;color:#1e293b;font-size:11px;font-weight:700;margin-top:-2px;padding:2px 7px;white-space:nowrap}@media (max-width:768px){.animals-page{padding:16px}.animals-page__header{align-items:center}.animals-page__header h1{font-size:21px}.animals-page__header p{font-size:13px}.animals-page__toolbar>*{flex:1 1 150px}.animals-page__registered-store{grid-template-columns:68px minmax(130px,1fr) 36px}}.admin-login-page{align-items:center;background:linear-gradient(160deg,#f0f4f0,#fff8e1 40%,#e8f5e9);display:flex;height:100dvh;justify-content:center;overflow:hidden;position:relative}.admin-login-page:before{background:radial-gradient(circle,#7cb34214 0,#0000 70%);height:400px;right:-120px;top:-120px;width:400px}.admin-login-page:after,.admin-login-page:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.admin-login-page:after{background:radial-gradient(circle,#ffb3000f 0,#0000 70%);bottom:-100px;height:350px;left:-100px;width:350px}.admin-login-deco{animation:floatGentle 8s ease-in-out infinite;font-size:32px;opacity:.12;pointer-events:none;position:absolute}.admin-login-deco:first-child{animation-delay:0s;left:6%;top:10%}.admin-login-deco:nth-child(2){animation-delay:-3s;font-size:28px;right:8%;top:20%}.admin-login-deco:nth-child(3){animation-delay:-5s;bottom:15%;font-size:26px;left:10%}.admin-login-deco:nth-child(4){animation-delay:-1s;bottom:25%;right:6%}@keyframes floatGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.admin-login-wrapper{align-items:center;animation:fadeInUp .5s ease-out;display:flex;flex-direction:row;gap:48px;padding:20px 40px;position:relative;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.admin-login-logo{margin-bottom:0;text-align:center}.admin-login-logo-tree{animation:treeSway 4s ease-in-out infinite;display:block;font-size:52px;margin-bottom:8px}@keyframes treeSway{0%,to{transform:rotate(0deg)}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}.admin-login-logo h1{color:#5a8a3c;font-family:Jua,sans-serif;font-size:36px;letter-spacing:2px;margin:0 0 2px}.admin-login-logo-sub{color:#8ca87d;font-family:Noto Sans KR,sans-serif;font-size:14px;font-weight:500;letter-spacing:6px;text-transform:uppercase}.admin-login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border:1px solid #7cb34214;border-radius:20px;box-shadow:0 8px 40px #5a8a3c14,0 2px 8px #0000000a;min-width:360px;padding:28px 28px 24px}.admin-login-card .ant-input-affix-wrapper{border:2px solid #e8efe8;border-radius:12px;font-family:Noto Sans KR,sans-serif;font-size:15px;padding:12px 16px;transition:border-color .25s,box-shadow .25s}.admin-login-card .ant-input-affix-wrapper:hover{border-color:#aed581}.admin-login-card .ant-input-affix-wrapper-focused,.admin-login-card .ant-input-affix-wrapper:focus{border-color:#7cb342!important;box-shadow:0 0 0 3px #7cb3421a!important}.admin-login-card .ant-input{font-family:Noto Sans KR,sans-serif;font-size:15px}.admin-login-card .ant-form-item-label>label{color:#4a6b3a;font-family:Noto Sans KR,sans-serif;font-weight:500}.admin-login-btn{background:linear-gradient(135deg,#7cb342,#8bc34a)!important;border:none!important;border-radius:12px!important;box-shadow:0 4px 12px #7cb34240!important;font-family:Jua,sans-serif!important;font-size:16px!important;font-weight:400!important;height:48px!important;letter-spacing:3px!important;transition:transform .15s,box-shadow .15s!important}.admin-login-btn:hover:not(:disabled){background:linear-gradient(135deg,#689f38,#7cb342)!important;box-shadow:0 6px 20px #7cb34259!important;transform:translateY(-1px)!important}.admin-login-btn:active:not(:disabled){transform:translateY(0)!important}.admin-login-card .ant-alert{border-radius:12px;font-family:Noto Sans KR,sans-serif}.admin-login-footer{border-top:1px solid #eef3ee;margin-top:20px;padding-top:18px;text-align:center}.admin-login-footer-animals{display:block;font-size:20px;letter-spacing:6px;margin-bottom:4px}.admin-login-footer-text{color:#a0b8a0;font-family:Noto Sans KR,sans-serif;font-size:12px;letter-spacing:1px}.menu a{align-items:center;display:flex;gap:10px}.menu a .anticon{font-size:16px}.main-content{background:linear-gradient(180deg,#ffffff61 0,#fff0 160px),var(--color-bg-app);min-height:100vh;overflow-y:auto;padding:0}.settings-page{padding:24px}.settings-page h1{color:var(--color-text-primary);font-size:24px;font-weight:600;margin:0 0 24px}.settings-placeholder{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);padding:48px;text-align:center}.mobile-menu-btn,.sidebar-close-btn-wrap,.sidebar-overlay{display:none}.sidebar-footer{background:linear-gradient(180deg,#fff0,#08132559);border-top:1px solid #ffffff1f;margin-top:auto;padding:14px 16px 16px}.sidebar-user-info{color:var(--sidebar-text-muted);font-size:.84rem;line-height:1.3;margin-bottom:10px}.sidebar-logout-btn{background:#ffffff08;border:1px solid #ffffff47;border-radius:10px;color:var(--sidebar-text);cursor:pointer;font-size:.84rem;font-weight:500;padding:8px 12px;transition:all .2s ease;width:100%}.sidebar-logout-btn:hover{background:#ffffff1f;border-color:#ffffff73}.mobile-menu-btn:focus-visible,.sidebar-close-btn:focus-visible,.sidebar-logout-btn:focus-visible,.store-tab:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}@media (max-width:768px){.sidebar{display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:260px;z-index:1001}.sidebar.sidebar--open{transform:translateX(0)}.sidebar-overlay{animation:overlayFadeIn .25s ease-out;background:#00000073;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-close-btn-wrap{display:flex;justify-content:flex-end;padding:12px 16px 0}.sidebar-close-btn{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:18px;line-height:1;padding:4px}.sidebar-close-btn:hover{color:#fff}.mobile-menu-btn{align-items:center;background:var(--sidebar-gradient);border:none;border-radius:10px;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;left:12px;position:fixed;top:12px;transition:background .2s;width:40px;z-index:999}.mobile-menu-btn:hover{filter:brightness(1.08)}.main-content{padding-top:56px;width:100%}.menu a{justify-content:flex-start;padding:12px 20px}.menu a span{display:inline}.menu a .anticon{font-size:16px}.logo{padding:0 20px 20px;text-align:left}.logo h2{font-size:20px}.logo span{display:inline}}.build-version{bottom:4px;color:#00000080;font-family:monospace;font-size:10px;pointer-events:none;position:fixed;right:8px;z-index:99999}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}:root{--color-text-primary:#18212f;--color-text-secondary:#5b6b84;--color-text-muted:#8b9ab3;--color-text-heading:#22324d;--color-bg-page:#f3f6fb;--color-bg-card:#fff;--color-bg-sidebar:#0f1f38;--color-bg-app:#ecf1f8;--color-bg-elevated:#f8fbff;--color-border:#dbe3ef;--color-border-light:#edf2fa;--color-primary:#2f7dff;--color-primary-hover:#1f6ef0;--color-primary-soft:#e8f1ff;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#dc2626;--color-focus-ring:#2f7dff3d;--font-display:"Jua",sans-serif;--font-body:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--space-xs:6px;--space-sm:10px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-card:14px;--radius-button:20px;--radius-input:12px;--radius-pill:999px;--shadow-card:0 2px 10px #192d500f,0 1px 3px #192d5014;--shadow-card-hover:0 10px 24px #192d501f,0 4px 10px #192d5014;--shadow-sm:0 2px 8px #14234114;--sidebar-gradient:linear-gradient(180deg,#122746,#0b1a31);--sidebar-text:#ffffffdb;--sidebar-text-muted:#ffffff9e;--sidebar-active:#2f7dffe6;--sidebar-hover:#ffffff14}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 8%,#2f7dff14,#0000 38%),radial-gradient(circle at 88% 0,#10b9810f,#0000 34%),var(--color-bg-app);color:var(--color-text-primary);font-family:var(--font-body);line-height:1.45;text-rendering:optimizeLegibility}.app{display:flex;min-height:100vh}.sidebar{background:var(--sidebar-gradient);box-shadow:6px 0 24px #08142647;color:#fff;display:flex;flex-direction:column;padding:20px 0;width:240px}.logo{border-bottom:1px solid #ffffff24;margin-bottom:20px;padding:0 20px 20px}.logo h2{font-size:21px;letter-spacing:-.01em;margin-bottom:4px}.logo span{font-size:12px;opacity:.74}.menu{display:flex;flex-direction:column}.menu a{border-radius:10px;color:var(--sidebar-text-muted);font-weight:500;margin:0 12px;padding:10px 12px;text-decoration:none;transition:all .2s ease}.menu a.active,.menu a:hover{color:var(--sidebar-text)}.menu a:hover{background:var(--sidebar-hover)}.menu a.active{background:linear-gradient(135deg,var(--sidebar-active),var(--color-primary-hover));box-shadow:0 8px 18px #1e6ef040}.main-content{flex:1 1;min-width:0}
/*# sourceMappingURL=main.985388f5.css.map*/