.app-shell{min-height:100vh}.app-sider{position:fixed!important;inset:0 auto 0 0;height:100vh;overflow:auto;z-index:20;box-shadow:8px 0 28px #08173014}.logo{display:flex;align-items:center;gap:12px;min-height:72px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;overflow:hidden}.logo:focus-visible{outline:2px solid #69b1ff;outline-offset:-3px}.logo-dot{position:relative;width:38px;height:38px;border-radius:50%;background:#b7f534;box-shadow:0 0 0 4px #b7f53424;flex:0 0 auto;overflow:hidden}.logo-dot:before,.logo-dot:after{content:"";position:absolute;width:30px;height:30px;border:2px solid #13b96b;border-radius:50%}.logo-dot:before{left:-20px;top:2px}.logo-dot:after{right:-20px;bottom:2px}.logo-copy{min-width:0;white-space:nowrap;transition:opacity .2s ease}.logo-title{color:#fff;font-size:18px;font-weight:800;line-height:1.2}.logo-sub{color:#ffffff7a;font-size:11px}.is-collapsed .logo{justify-content:center;padding-inline:0}.is-collapsed .logo-copy,.is-collapsed .menu-main,.is-collapsed .sider-foot{display:none}.menu-main{display:inline-flex;flex-direction:column;line-height:1.25;vertical-align:middle}.menu-sub{font-style:normal;font-size:11px;color:#ffffff6b}.ant-menu-dark .ant-menu-item-selected .menu-sub{color:#ffffffc2}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{height:52px!important;line-height:normal!important;display:flex;align-items:center}.sider-foot{position:sticky;bottom:0;padding:18px 20px;background:linear-gradient(180deg,#13233f00,#13233f 28%);font-size:11px;color:#ffffff57;text-align:center;white-space:nowrap}.app-main{min-width:0;transition:margin-left .2s ease}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:72px;padding-inline:24px;background:#fffffff5!important;border-bottom:1px solid #eef0f4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-left,.header-right{display:flex;align-items:center}.header-left{gap:10px;min-width:0}.header-right{gap:14px}.sider-trigger{color:#667085}.global-search{width:300px;border-radius:18px}.header-user{display:flex;align-items:center;gap:8px;padding:3px 6px 3px 3px;border:0;border-radius:18px;background:transparent;font:inherit;color:#1f2937;cursor:pointer}.header-user:hover{background:#f4f6fa}.header-user:focus-visible{outline:2px solid #91caff;outline-offset:2px}.app-content{padding:24px;min-height:calc(100vh - 72px)}@media (max-width: 1180px){.global-search{width:230px}.header-user-name{display:none}}@media (max-width: 900px){.global-search,.header-action-text{display:none}.app-header{padding-inline:14px}.app-content{padding:18px}}@media print{.app-sider,.app-header,.page-head>div:last-child,.filter-bar{display:none!important}.app-main{margin-left:0!important}.app-content{padding:0}.card-shadow{box-shadow:none!important;border:1px solid #e5e7eb}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{background:#f4f6fa}body{background:#f4f6fa;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2937;line-height:1.5;-webkit-font-smoothing:antialiased}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 15%,rgba(16,178,101,.2),transparent 28%),linear-gradient(135deg,#eaf8f0,#f7f9fc 48%,#fff)}.login-panel{width:420px;border:0;border-radius:28px;box-shadow:0 28px 90px #10182824}.login-logo{width:64px;height:64px;display:grid;place-items:center;margin-bottom:18px;border-radius:20px;background:#10b265;color:#fff;font-size:32px}button,input,select,textarea{font:inherit}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.page-head h2{margin:0;font-size:24px;line-height:1.35;font-weight:750;letter-spacing:-.02em;color:#172033}.page-head .desc{max-width:760px;margin-top:5px;font-size:13px;color:#8b95a7}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.filter-bar{background:#fff;border:1px solid rgba(229,231,235,.72);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 2px 10px #1f29370a;display:flex;justify-content:space-between;align-items:center;gap:16px}.filter-extra{margin-left:auto}.page-alert{margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:16px}.stat-card{height:100%;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1f293714}.stat-card-top{display:flex;justify-content:space-between;align-items:flex-start}.stat-label{font-size:13px;color:#6b7280}.stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px}.stat-value{margin-top:6px;font-size:26px;line-height:1.2;font-weight:800;color:#172033;font-variant-numeric:tabular-nums}.stat-delta{margin-top:4px;font-size:12px}.empty-value{color:#a0a8b8}.card-shadow{box-shadow:0 2px 12px #1f29370b}.content-block{border:1px solid rgba(229,231,235,.64)}.dashboard-equal-col{display:flex}.dashboard-equal-col>.content-block{width:100%;height:100%}.detail-equal-row>.ant-col{display:flex}.detail-equal-row>.ant-col>.content-block{width:100%;height:100%}.package-form-main,.package-form-side{display:flex;flex-direction:column}.package-form-main>.content-block{width:100%;height:100%}.package-form-side>.content-block:last-child{flex:1}.block-title{font-size:16px;font-weight:700;color:#172033}.ant-table-cell,.ant-statistic-content{font-variant-numeric:tabular-nums}.ant-table-wrapper a,.ant-card-extra a{cursor:pointer}:where(button,a,input,[role=button]):focus-visible{outline:2px solid #91caff;outline-offset:2px}@media (max-width: 1500px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-direction:column}.page-actions{justify-content:flex-start}.filter-bar{padding:14px;align-items:flex-start;flex-direction:column}.filter-extra{margin-left:0}}@media (max-width: 560px){.stat-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#aeb6c2}
