:root{--primary: #2970ff;--primary-light: #edf3ff;--primary-dark: #1a5ae0;--success: #17b26a;--success-light: #ecfdf5;--warning: #f79009;--warning-light: #fffaeb;--danger: #f04438;--danger-light: #fef3f2;--bg: #f5f5f5;--bg-white: #ffffff;--card-bg: #ffffff;--border: #eeeeee;--divider: #f5f5f5;--text: #101828;--text-secondary: #667085;--text-hint: #98a2b3;--text-white: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--radius-xs: 4px;--radius-sm: 8px;--radius: 12px;--radius-lg: 14px;--radius-xl: 16px;--space-xs: 4px;--space-sm: 8px;--space: 16px;--space-md: 20px;--space-lg: 24px;--space-xl: 32px;--font-xs: 11px;--font-sm: 12px;--font: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 20px;--font-xxl: 24px;--font-xxxl: 32px;--transition: .15s ease;--safe-bottom: env(safe-area-inset-bottom, 0px);--gradient-primary: linear-gradient(135deg, #2970ff, #5b8ef7);--gradient-success: linear-gradient(135deg, #17b26a, #34d399);--gradient-warning: linear-gradient(135deg, #f79009, #fbbf24);--gradient-danger: linear-gradient(135deg, #f04438, #f87171);--gradient-purple: linear-gradient(135deg, #722ed1 0%, #b37feb 100%);--gradient-cyan: linear-gradient(135deg, #13c2c2 0%, #67e8f9 100%);--gradient-pink: linear-gradient(135deg, #eb2f96 0%, #f472b6 100%);--gradient-rainbow: linear-gradient(135deg, #ff6b6b, #ffd93d, #6bcb77, #4d96ff);--gradient-bg: linear-gradient(135deg, #edf3ff 0%, #f0faff 50%, #f5f0ff 100%);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .8);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .06);--bottom-tab-height: 56px}*{-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app-card{background:var(--card-bg);border-radius:var(--radius);padding:var(--space);margin:0 var(--space-sm) var(--space-sm);box-shadow:var(--shadow);border:1px solid var(--border);transition:box-shadow var(--transition)}.app-card:active{box-shadow:var(--shadow-md)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space);margin-bottom:var(--space-xs)}.section-title{font-size:var(--font-md);font-weight:600;color:var(--text);display:flex;align-items:center;gap:var(--space-sm)}.section-more{font-size:var(--font-sm);color:var(--text-secondary);display:flex;align-items:center;gap:2px;cursor:pointer}.stat-card{background:var(--card-bg);border-radius:var(--radius);padding:16px 12px;text-align:center;box-shadow:none;border:1px solid var(--border);transition:background var(--transition)}.stat-card:active{background:#f5f5f5}.stat-card__value{font-size:22px;font-weight:700;color:var(--text);line-height:1.3}.stat-card__label{font-size:11px;color:var(--text-hint);margin-top:4px}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin:0 var(--space-sm)}.quick-action-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;cursor:pointer;background:var(--card-bg);transition:background var(--transition);min-height:72px;-webkit-user-select:none;user-select:none}.quick-action-item:active{background:var(--divider);transform:scale(.96)}.quick-action-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:6px;font-size:20px}.quick-action-label{font-size:var(--font-xs);color:var(--text)}.list-item{display:flex;align-items:center;padding:12px 16px;background:var(--card-bg);cursor:pointer;transition:background .15s,box-shadow .15s;border-bottom:1px solid var(--divider)}.list-item:hover{background:#fafafa}.list-item:active{background:#f0f2f5;box-shadow:inset 0 1px 3px #0000000f}.list-item:first-child{border-radius:var(--radius) var(--radius) 0 0}.list-item:last-child{border-bottom:none;border-radius:0 0 var(--radius) var(--radius)}.list-item:only-child{border-radius:var(--radius)}.list-item__icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0;font-size:20px;transition:transform .15s}.list-item:active .list-item__icon{transform:scale(.94)}.list-item__body{flex:1;min-width:0}.list-item__title{font-size:var(--font);color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__desc{font-size:var(--font-sm);color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__extra{margin-left:var(--space-sm);display:flex;align-items:center;gap:4px;flex-shrink:0}.list-item__arrow{color:var(--text-hint);font-size:var(--font-sm)}@media (max-width: 768px){.list-item{padding:14px 16px;border-bottom-color:#f5f5f5}.list-item__icon{width:40px;height:40px;border-radius:10px;font-size:18px;margin-right:12px}.list-item__title{font-size:15px}.list-item__desc{font-size:12px}.list-item__extra{gap:4px}}.fab{position:fixed;right:var(--space);bottom:calc(var(--bottom-tab-height) + var(--safe-bottom) + 16px);width:52px;height:52px;border-radius:50%;background:var(--primary);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-md);cursor:pointer;z-index:100;border:none;transition:transform var(--transition),box-shadow var(--transition)}.fab:active{transform:scale(.92);box-shadow:var(--shadow)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:3px;margin-right:0;flex-shrink:0}.status-dot--online{background:var(--success)}.status-dot--offline{background:#ccc}.status-dot--warning{background:var(--warning)}.status-dot--error{background:var(--danger)}.search-bar{padding:var(--space-sm) var(--space);background:var(--card-bg)}.search-bar .ant-input-affix-wrapper{border-radius:20px;border:none;background:var(--bg);padding:8px 12px}.search-bar .ant-input-affix-wrapper-focused{background:var(--bg);box-shadow:0 0 0 2px var(--primary-light)}.search-bar .ant-input{background:transparent;font-size:var(--font-sm)}.group-card{background:var(--card-bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);margin:0 0 var(--space)}.group-card__header{padding:var(--space-sm) var(--space);font-size:var(--font-sm);color:var(--text-secondary);border-bottom:1px solid var(--divider)}@media (max-width: 768px){.group-card{margin:0 0 var(--space-sm);border-radius:var(--radius);box-shadow:none;border:1px solid var(--border)}.section-header{padding:12px 16px 6px}.section-title{font-size:15px;font-weight:600}}.empty-state{text-align:center;padding:48px var(--space);color:var(--text-hint)}.empty-state__icon{font-size:48px;margin-bottom:var(--space);opacity:.3}.empty-state__text{font-size:var(--font);margin-bottom:var(--space-xs)}.empty-state__hint{font-size:var(--font-sm)}.gradient-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:100px;display:flex;flex-direction:column;justify-content:center;padding:18px 16px;color:#fff}.gradient-card__bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.gradient-card__bg:after{content:"";position:absolute;top:-60%;right:-30%;width:120%;height:120%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);pointer-events:none}.gradient-card__deco{position:absolute;bottom:-20px;right:-10px;font-size:72px;opacity:.06;pointer-events:none;z-index:0}.gradient-card__content{position:relative;z-index:1}.gradient-card__label{font-size:12px;opacity:.8;margin-bottom:4px}.gradient-card__value{font-size:28px;font-weight:700;line-height:1.2}.gradient-card__sub{font-size:12px;opacity:.7;margin-top:4px}.gradient-card--blue{background:var(--gradient-primary)}.gradient-card--green{background:var(--gradient-success)}.gradient-card--orange{background:var(--gradient-warning)}.gradient-card--red{background:var(--gradient-danger)}.gradient-card--purple{background:var(--gradient-purple)}.page-header{padding:18px var(--space) 14px;background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:0 1px 3px #1018280a;margin-bottom:8px}.page-header__greeting{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:2px}.page-header__title{font-size:20px;font-weight:700;color:var(--text)}.page-header__subtitle{font-size:var(--font-sm);color:var(--text-secondary);margin-top:4px}.page-container{min-height:100vh;background:var(--bg);padding-bottom:calc(var(--bottom-tab-height) + var(--safe-bottom) + 8px)}.page-content{padding:0 var(--space-sm)}.resp-grid{display:grid;gap:var(--space-sm)}.resp-grid--2{grid-template-columns:1fr 1fr}.resp-grid--3{grid-template-columns:repeat(3,1fr)}.resp-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width: 480px){.resp-grid--4,.resp-grid--3{grid-template-columns:1fr 1fr}}.activity-item{display:flex;align-items:flex-start;padding:var(--space-sm) var(--space);border-bottom:1px solid var(--divider)}.activity-item:last-child{border-bottom:none}.activity-item__dot{width:8px;height:8px;border-radius:50%;margin-top:6px;margin-right:var(--space-sm);flex-shrink:0}.activity-item__content{flex:1;min-width:0}.activity-item__title{font-size:var(--font-sm);color:var(--text);font-weight:500}.activity-item__time{font-size:var(--font-xs);color:var(--text-hint);margin-top:2px}.banner-bar{background:linear-gradient(135deg,#fff7e6,#fffbe6);border:1px solid #ffe58f;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space);margin:var(--space-sm) var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-sm);color:#ad6800}.banner-bar__icon{font-size:16px;flex-shrink:0}.banner-bar__text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottom-tab-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#fff;display:flex;align-items:center;justify-content:space-around;box-shadow:0 -1px 3px #1018280f;z-index:999}.tab-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;cursor:pointer;color:var(--text-secondary);transition:color var(--transition);position:relative;-webkit-user-select:none;user-select:none;gap:2px}.tab-bar__item--active{color:var(--primary)}.tab-bar__icon{font-size:22px}.tab-bar__label{font-size:10px;font-weight:500}.tab-bar__item--active .tab-bar__label{font-weight:700}.ant-card{border-radius:var(--radius)!important;box-shadow:none!important;border:1px solid var(--border)!important}.ant-btn{border-radius:var(--radius-sm);transition:all var(--transition);font-weight:500}.ant-btn-primary{box-shadow:none}.ant-btn-primary:active{opacity:.8;transform:none}.ant-tag{border-radius:4px;border:none;padding:2px 6px;font-size:10px;line-height:16px}@media (max-width: 767px){.ant-pagination{font-size:var(--font-sm)}.ant-pagination-item{min-width:28px;height:28px;line-height:28px;border-radius:var(--radius-sm)}.ant-modal{max-width:calc(100vw - 32px);margin:auto}.ant-modal-content{border-radius:var(--radius)}.ant-message{top:20px}.ant-drawer-content-wrapper{border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.ant-card{border-radius:var(--radius)!important;margin:0 0 var(--space-sm)!important}.ant-card-body{padding:16px!important}.ant-card-head{padding:12px 16px!important;min-height:44px!important;border-bottom:1px solid var(--border)!important}.ant-tabs-tab{padding:8px 0!important;font-size:14px!important}.ant-tabs-ink-bar{height:3px!important;border-radius:2px!important}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-track{background:transparent}@media (max-width: 768px){.ant-card{border-radius:var(--radius, 12px)!important;box-shadow:none!important;border:1px solid var(--border, #eee)!important}.ant-card-head{padding:12px 14px!important;min-height:auto!important;border-bottom:1px solid var(--border, #eee)!important}.ant-card-head-title{font-size:15px!important;font-weight:600!important;padding:0!important}.ant-card-extra{padding:0!important}.ant-card-body{padding:14px!important}}.ant-card{border-radius:var(--radius, 12px)!important;border:1px solid var(--border, #eee)!important}.ant-card-bordered{box-shadow:0 1px 3px #0000000a!important}@media (max-width: 768px){.ant-btn,.ant-btn-default,.ant-btn-primary,.ant-btn-dashed,.ant-btn-text,.ant-btn-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.ant-btn-sm,.ant-btn.ant-btn-sm{min-height:36px}.ant-tabs-nav-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.ant-tabs-nav-list{flex-wrap:nowrap!important;white-space:nowrap}.ant-tabs-nav-wrap::-webkit-scrollbar{display:none}.ant-form-item{width:100%}.ant-form-item-control{max-width:100%}.ant-form-item .ant-input,.ant-form-item .ant-input-number,.ant-form-item .ant-select,.ant-form-item .ant-picker{width:100%!important}.ant-input-number-input{inputmode:numeric}.ant-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ant-table{min-width:600px}.ant-pagination-item{min-width:30px!important;height:30px!important;line-height:30px!important;font-size:13px!important}.ant-pagination-options{display:none!important}.ant-input,.ant-select,.ant-picker{max-width:100%}}.recent-card__head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 12px}.recent-card__title{font-weight:600;font-size:15px;color:var(--text);display:inline-flex;align-items:center;gap:8px}.recent-card__title .anticon{color:var(--primary)}.recent-item{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px;cursor:pointer;transition:background .15s ease,transform .15s ease}.recent-item:hover{background:#f6f8fb}.recent-item:active{background:#eef2f7}.recent-item__avatar{flex-shrink:0;display:flex;align-items:center;line-height:0}.recent-item__body{flex:1;min-width:0}.recent-item__line1{display:flex;align-items:center;gap:8px;min-width:0}.recent-item__name{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item__status{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;line-height:1;padding:4px 8px;border-radius:20px;white-space:nowrap}.recent-item__dot{width:6px;height:6px;border-radius:50%}.recent-item__meta{margin-top:5px;font-size:12px;color:var(--text-hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item__meta-sep{margin:0 6px;color:var(--border)}.recent-item__actions{flex-shrink:0;display:flex;align-items:center;gap:2px;margin-left:4px}.recent-item__visit{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--primary);background:#2970ff14;padding:5px 10px;border-radius:999px;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.recent-item__visit .anticon{font-size:11px}.recent-item__visit:hover{background:#2970ff29;color:var(--primary-dark)}.recent-item__visit:active{transform:scale(.96)}.recent-item__chevron{display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#cdd5e0;transition:color .15s ease,transform .15s ease}.recent-item:hover .recent-item__chevron{color:#7a8aa0;transform:translate(2px)}@media (max-width: 768px){.recent-item__visit{padding:0 12px;min-height:40px;font-size:12px}.section-more{min-height:40px;padding:0 4px}}.recent-empty{text-align:center;padding:34px 16px}.recent-empty__icon{font-size:38px;color:var(--primary);opacity:.25;margin-bottom:10px}.recent-empty__text{font-size:14px;color:var(--text-secondary)}.recent-empty__hint{font-size:12px;color:var(--text-hint);margin-top:4px}@media (max-width: 768px){.recent-item{padding:13px 8px;gap:10px;border-radius:10px}.recent-item__name{font-size:15px}.recent-item__meta{font-size:12px}.recent-card__title{font-size:15px}}.pd-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;background:linear-gradient(135deg,#fff,#f6f9ff 60%,#eef5ff);border:1px solid #e9eef7;border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:0 1px 2px #1018280a,0 8px 24px -12px #2970ff2e;position:relative;overflow:hidden}.pd-hero:before{content:"";position:absolute;top:-70px;right:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(41,112,255,.08) 0%,transparent 70%);pointer-events:none}.pd-hero__main{display:flex;align-items:center;gap:12px;min-width:0;flex:1;position:relative;z-index:1}.pd-hero__icon{flex-shrink:0;width:56px;height:56px;border-radius:16px;background:#fff;border:1px solid #e9eef7;box-shadow:0 2px 8px #2970ff1f;display:flex;align-items:center;justify-content:center}.pd-hero__info{flex:1;min-width:0}.pd-hero__title-line{display:flex;align-items:center;gap:8px;min-width:0}.pd-hero__name{font-size:19px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px}.pd-hero__meta{margin-top:5px;font-size:12px;color:var(--text-secondary);display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0}.pd-hero__meta code{font-size:11px;color:var(--text-hint);background:#ffffffb3;border:1px solid #e9eef7;padding:0 6px;border-radius:6px}.pd-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.pd-stats-row{display:grid;gap:12px}.pd-stat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eef1f5;border-radius:14px;padding:14px 16px;cursor:pointer;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;box-shadow:0 1px 2px #1018280a;position:relative;-webkit-user-select:none;user-select:none}.pd-stat:hover{transform:translateY(-2px);box-shadow:0 8px 20px -8px #10182824;border-color:#e2e9f5}.pd-stat:active{transform:translateY(0)}.pd-stat__icon{flex-shrink:0;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px}.pd-stat--blue .pd-stat__icon{background:var(--primary-light);color:var(--primary)}.pd-stat--green .pd-stat__icon{background:var(--success-light);color:var(--success)}.pd-stat--purple .pd-stat__icon{background:#f4efff;color:#722ed1}.pd-stat__body{flex:1;min-width:0}.pd-stat__value{font-size:24px;font-weight:700;line-height:1.2;color:var(--text)}.pd-stat--blue .pd-stat__value{color:var(--primary)}.pd-stat--green .pd-stat__value{color:var(--success)}.pd-stat--purple .pd-stat__value{color:#722ed1}.pd-stat__label{margin-top:3px;font-size:12px;color:var(--text-hint);display:flex;align-items:center;gap:4px}.pd-stat__arrow{flex-shrink:0;color:#d0d5dd;font-size:12px;transition:color .15s ease,transform .15s ease}.pd-stat:hover .pd-stat__arrow{color:var(--primary);transform:translate(2px)}@media (min-width: 577px){.pd-stats-row{grid-template-columns:repeat(3,1fr)}}.pd-card-title{display:flex;align-items:center;gap:8px}.pd-card-title .anticon{color:var(--primary)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
