:root{--brand: #ff6b00;--brand-strong: #ff6b00;--brand-hover: #ff8533;--brand-active: #f05a00;--brand-soft: #fff3ea;--brand-border: #ffdcc2;--text: #292d35;--text-secondary: #7b808a;--surface: #ffffff;--canvas: #f7f8fa}html,body,#app{min-height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.ant-layout-content{min-width:0}.page-shell{padding:20px 24px 28px}.page{padding:0}.ant-layout-header.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;height:68px;padding:0 24px 0 0;line-height:normal;background:var(--surface);border-bottom:1px solid #eeece9}.app-logo{display:flex;flex:0 0 auto;min-width:260px;height:100%;gap:10px;align-items:center;padding:8px 20px 8px 22px;color:var(--text);white-space:nowrap;text-decoration:none}.app-logo:hover{color:var(--text)}.app-brand-mark{display:grid;flex:none;width:34px;height:36px;color:#fff;font-size:21px;background:linear-gradient(145deg,#ff963d,#ff6b00);border:1px solid #ff8533;border-radius:10px;box-shadow:0 4px 9px #ff6b0020,inset 0 1px #ffffff40;place-items:center}.app-brand-copy{display:flex;flex-direction:column;gap:6px;line-height:1}.app-brand-copy{min-width:0;max-width:188px}.app-brand-copy strong,.app-brand-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-brand-image{display:block;width:auto;height:100%;max-width:none;flex:none;object-fit:contain}.app-brand-copy strong{font-size:14px;font-weight:650;letter-spacing:.025em}.app-brand-copy small{font-size:8px;font-weight:500;color:#a1a0a0;letter-spacing:.15em}.app-nav{position:relative;display:flex;flex:1;align-items:center;min-width:0;height:68px}.app-nav .nav-item{position:relative;display:inline-flex;flex:none;gap:7px;align-items:center;justify-content:center;height:38px;padding:0 13px;font-family:inherit;font-size:13px;color:#696c74;white-space:nowrap;cursor:pointer;background:transparent;border:none;border-radius:8px;transition:color .18s,background .18s}.app-nav .nav-item:hover{color:var(--brand-strong);background:#fff8f3}.app-nav .nav-item .anticon{font-size:16px}.app-nav .nav-item-active{font-weight:600;color:var(--brand-strong);background:var(--brand-soft)}.nav-ghost{position:absolute;top:0;left:0;display:flex;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.app-user{display:flex;flex:none;gap:9px;align-items:center;margin-left:20px;padding:0 0 0 20px;font-family:inherit;color:var(--text);text-align:left;white-space:nowrap;background:none;border:none;border-left:1px solid #edecea;cursor:pointer}.app-avatar.ant-avatar{color:var(--brand);background:var(--brand-soft);border:1px solid var(--brand-border)}.app-user-copy{display:flex;gap:4px;flex-direction:column;line-height:1.2}.app-user-copy strong{max-width:110px;overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis}.app-user-copy small{max-width:110px;overflow:hidden;font-size:10px;color:#93969d;text-overflow:ellipsis}.app-user-arrow{font-size:9px;color:#9a9da5}.ant-layout-sider.app-sider{position:sticky;top:68px;align-self:flex-start;height:calc(100dvh - 68px);overflow-y:auto;overflow-x:hidden;background:#fff;border-right:1px solid #eeece9;scrollbar-width:thin;scrollbar-color:#e7e3df transparent}.app-sider .ant-menu{padding:0 8px 18px;font-size:13px}.app-sider .ant-menu-sub{padding:0}.app-sider .ant-menu-inline,.app-sider .ant-menu-inline-collapsed{border-inline-end:none}.app-sider .ant-menu-item,.app-sider .ant-menu-submenu-title{width:calc(100% - 8px);margin-block:4px}.app-sider .ant-menu-submenu-title{font-weight:550}.app-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--brand-strong)}.app-sider .ant-menu-item-selected{position:relative;font-weight:600}.app-sider .ant-menu-item-selected:before{position:absolute;top:12px;bottom:12px;left:0;width:3px;content:"";background:var(--brand);border-radius:0 3px 3px 0}.app-sider .ant-menu-item .anticon,.app-sider .ant-menu-submenu-title .anticon{font-size:17px}.app-sider-title{display:flex;align-items:center;justify-content:space-between;height:64px;margin:0 20px 2px;font-size:11px;font-weight:500;color:#93969d;letter-spacing:.06em}.sider-toggle{display:grid;flex:none;width:28px;height:28px;padding:0;color:#93969d;font-size:15px;background:transparent;border:0;border-radius:6px;cursor:pointer;place-items:center}.app-sider-title>span{overflow:hidden;white-space:nowrap}.sider-toggle:hover{color:var(--brand-strong);background:var(--brand-soft)}.app-sider.ant-layout-sider-collapsed .app-sider-title{justify-content:center;margin-inline:0}.app-sider .ant-menu-inline-collapsed{width:71px;padding-inline:4px}.app-sider .ant-menu-inline-collapsed>.ant-menu-item,.app-sider .ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{padding-inline:22px}.nav-item:focus-visible,.sider-toggle:focus-visible,.app-user:focus-visible,.app-logo:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media (max-width: 1200px){.app-logo{min-width:240px;padding-left:18px}.app-nav .nav-item{padding-inline:11px}.app-user{margin-left:12px;padding-left:12px}.app-user-copy small{display:none}.page-shell{padding:18px}}@media (max-width: 760px){.ant-layout-header.app-header{padding-right:12px}.app-logo{min-width:58px;padding-inline:12px}.app-brand-copy,.app-user-copy,.app-user-arrow{display:none}.app-user{margin-left:6px;padding-left:10px}.app-nav .nav-item{padding-inline:10px;font-size:12px}.page-shell{padding:12px}.app-sider:not(.ant-layout-sider-collapsed){position:fixed;left:0;z-index:25;box-shadow:8px 0 28px #292d3515}.app-sider:not(.ant-layout-sider-collapsed)+.ant-layout-content{margin-left:72px}}.filter-bar{margin-bottom:12px;padding:13px 16px;background:#fff;border:1px solid #f0e4da;border-radius:10px;box-shadow:0 4px 16px #1f23290e}.filter-bar .ant-form-item-label>label{color:#4e5969}.filter-bar .ant-btn-primary{border-color:var(--brand);background:var(--brand);box-shadow:none}.filter-bar .ant-btn-primary:not(:disabled):hover,.filter-bar .ant-btn-primary:not(:disabled):focus{border-color:var(--brand-hover);background:var(--brand-hover)}.filter-bar .ant-btn-primary:not(:disabled):active{border-color:var(--brand-active);background:var(--brand-active)}.filter-bar .ant-btn-primary:disabled,.filter-bar .ant-btn-primary.ant-btn-disabled{color:#fff;border-color:#ffcda3;background:#ffcda3}.filter-bar .ant-btn-default:not(:disabled){color:#ff6b00;border-color:#ffd9bd;background:#fff}.filter-bar .ant-btn-default:not(:disabled):hover,.filter-bar .ant-btn-default:not(:disabled):focus{color:var(--brand-strong);border-color:#ff8a3d;background:#fff8f3}.filter-bar .ant-btn-link.filter-toggle{padding-inline:2px;color:var(--brand-strong);font-weight:500}.filter-bar .ant-btn-link.filter-toggle:not(:disabled):hover{color:var(--brand)}.filter-bar .ant-btn-link.filter-toggle .anticon{margin-inline-start:2px;transition:transform .2s}.filter-bar .ant-btn-link.filter-toggle .anticon.is-open{transform:rotate(180deg)}.filter-bar .ant-input:hover,.filter-bar .ant-input-affix-wrapper:hover,.filter-bar .ant-input:focus,.filter-bar .ant-input-affix-wrapper-focused,.filter-bar .ant-select:not(.ant-select-disabled):hover .ant-select-selector,.filter-bar .ant-select-focused:not(.ant-select-disabled) .ant-select-selector,.filter-bar .ant-picker:hover,.filter-bar .ant-picker-focused{border-color:#ff8a3d;box-shadow:0 0 0 2px #ff6b001f}.filter-bar .ant-input-affix-wrapper .ant-input,.filter-bar .ant-input-affix-wrapper .ant-input:hover,.filter-bar .ant-input-affix-wrapper .ant-input:focus{border-color:transparent;box-shadow:none}.filter-bar.is-collapsed .ant-form-inline{flex-wrap:nowrap;overflow-x:auto}.filter-bar .ant-form-inline{row-gap:10px}.filter-bar .ant-form-item.filter-actions{margin-inline-start:auto;margin-inline-end:0}.table-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0015290f}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 16px;border-bottom:1px solid #f0f0f0}.table-toolbar .title{display:flex;gap:7px;align-items:center;font-size:15px;font-weight:600}.table-toolbar .title .anticon{color:var(--brand)}.table-toolbar .title .count{font-size:12px;font-weight:400;color:#00000073}@media (max-width: 640px){.filter-bar .ant-form-inline{max-width:100%;overflow-x:auto}.table-toolbar{flex-wrap:wrap;gap:12px}.table-toolbar .title{flex:none;white-space:nowrap}.table-toolbar>.ant-space{max-width:100%;overflow-x:auto}.page-shell .ant-table-cell-fix-right,.page-shell .ant-table-cell-fix-left{position:static!important}}.table-toolbar .add-btn-fluid{position:relative;z-index:0;overflow:hidden;color:#fff;border-color:transparent;background:var(--brand);box-shadow:0 2px 8px #ff6b0047;text-shadow:0 1px 2px rgba(150,55,0,.45)}.table-toolbar .add-btn-fluid:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:repeating-linear-gradient(90deg,#ff5a00,#ff9a4d,#ff4d00,#ff5a00 96px);background-size:96px 100%;animation:add-btn-flow 2.4s linear infinite;content:""}.table-toolbar .add-btn-fluid:after{position:absolute;top:50%;left:50%;z-index:-1;width:240px;height:160px;margin:-80px 0 0 -120px;background:conic-gradient(from 0turn,#fff0,#ffffff80 .16turn,#fff0 .34turn,#ff8a3dbf .55turn,#fff0 .78turn,#ffffff57 1turn);filter:blur(7px);animation:add-btn-blob 7s linear infinite;content:""}.table-toolbar .add-btn-fluid:not(:disabled):hover,.table-toolbar .add-btn-fluid:not(:disabled):focus{color:#fff;border-color:transparent;background:var(--brand);box-shadow:0 8px 20px #ff6b006b;transform:translateY(-1px)}.table-toolbar .add-btn-fluid:not(:disabled):active{box-shadow:0 3px 10px #ff6b0057;transform:translateY(0) scale(.98)}.table-toolbar .add-btn-fluid:disabled,.table-toolbar .add-btn-fluid.ant-btn-disabled{color:#fff;background:#ffcda3;box-shadow:none}.table-toolbar .add-btn-fluid:disabled:before,.table-toolbar .add-btn-fluid:disabled:after{display:none}@keyframes add-btn-flow{0%{background-position:0 0}to{background-position:96px 0}}@keyframes add-btn-blob{to{transform:rotate(1turn)}}@media (prefers-reduced-motion: reduce){.table-toolbar .add-btn-fluid:before,.table-toolbar .add-btn-fluid:after{animation:none}}.table-card .ant-table-thead>tr>th{font-weight:600;background:#faf9f7}.table-card .ant-table-tbody>tr>td{transition:background .2s}.muted{color:#00000073}.drawer-footer{position:absolute;right:0;bottom:0;left:0;padding:10px 16px;text-align:right;background:#fff;border-top:1px solid #f0f0f0}.nowrap{white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.section-title{display:flex;gap:6px;align-items:center;margin:0 0 10px;font-size:14px;font-weight:600;color:#000000d9}.section-title .anticon{color:var(--brand)}.page-banner{position:relative;isolation:isolate;display:flex;align-items:center;min-height:164px;margin-bottom:20px;padding:24px 28px;overflow:hidden;background:#faf8f5;border:1px solid #eee7df;border-radius:14px;box-shadow:0 3px 12px #6b4b2810}.banner-copy{position:relative;z-index:1;width:57%}.banner-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:10px}.page-banner .banner-icon{display:inline-flex;color:var(--brand);font-size:15px}.banner-chip{font-size:11px;font-weight:500;color:#ff6b00;letter-spacing:.08em}.page-banner h1{margin:0;font-size:25px;font-weight:650;line-height:1.35;letter-spacing:.01em;color:#303138}.page-banner p{max-width:600px;margin:9px 0 0;font-size:12px;line-height:1.7;color:#898580}.banner-art{position:absolute;z-index:0;top:50%;right:0;width:var(--banner-art-width);aspect-ratio:3 / 1;transform:translateY(-50%);opacity:0;pointer-events:none;mix-blend-mode:multiply;--banner-art-opacity: 1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#0000 3%,#0002 12%,#0007 25%,#000c 40%,#000 56%,#000 96%,#0000 100%);mask-image:linear-gradient(90deg,transparent 0%,#0000 3%,#0002 12%,#0007 25%,#000c 40%,#000 56%,#000 96%,#0000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#0000 3%,#0002 12%,#0007 25%,#000c 40%,#000 56%,#000 96%,#0000 100%),linear-gradient(0deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent 0%,#0000 3%,#0002 12%,#0007 25%,#000c 40%,#000 56%,#000 96%,#0000 100%),linear-gradient(0deg,transparent,#000 16%,#000 84%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.banner-art img{display:block;width:100%;height:100%;object-fit:contain}.is-entering .banner-art{animation:banner-art-arrive 1.25s cubic-bezier(.16,1,.3,1) both}@keyframes banner-art-arrive{0%{width:50%;opacity:0}16%{opacity:var(--banner-art-opacity)}to{width:var(--banner-art-width);opacity:var(--banner-art-opacity)}}.banner-perimeter-light{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.banner-light-orbit{opacity:0;filter:drop-shadow(0 0 3px #ff841dcc) drop-shadow(0 0 7px #ff9b3855)}.banner-light-trail{fill:none;stroke:#ff861f;stroke-linecap:round;stroke-dashoffset:var(--trail-length)}.banner-light-head{stroke:#fff1c2}.is-entering .banner-light-orbit{animation:banner-light-fade 1.45s linear both}.is-entering .banner-light-trail{animation:banner-light-lap 1.45s cubic-bezier(.32,.08,.22,1) both}@keyframes banner-light-lap{0%{stroke-dashoffset:var(--trail-length)}to{stroke-dashoffset:calc(var(--trail-length) - 100px)}}@keyframes banner-light-fade{0%{opacity:0}6%,78%{opacity:1}to{opacity:0}}@media (min-width: 1600px){.page-banner{min-height:180px}}@media (max-width: 900px){.page-banner{min-height:150px;padding:22px}.banner-copy{width:64%}.page-banner h1{font-size:22px}}@media (max-width: 640px){.page-banner{min-height:152px;margin-bottom:14px;padding:20px}.banner-copy{width:100%}.page-banner h1{font-size:21px}.page-banner p{max-width:90%;font-size:11px}.banner-art{top:0;transform:none;--banner-art-opacity: .18}}@media (prefers-reduced-motion: reduce){.app-nav .nav-item{transition:none}.is-entering .banner-art{animation:none;opacity:var(--banner-art-opacity)}.banner-perimeter-light{display:none}.is-entering .banner-light-orbit,.is-entering .banner-light-trail{animation:none}}.stat-card{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;overflow:hidden;color:var(--text);background:#fff;border:1px solid #ece8e3;border-radius:10px}.stat-card .stat-label{font-size:12.5px;color:#85818a}.stat-card .stat-value{margin-top:4px;font-size:26px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;word-break:break-all}.stat-card .stat-hint{margin-top:2px;font-size:11.5px;color:#939097}.stat-card .stat-icon{display:flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;font-size:19px;color:var(--brand);background:#fff2e7;border-radius:12px}.stat-card.is-muted{background:#fafafa;border-color:#f0f0f0}.stat-card.is-muted .stat-value{color:#a5a3a8}.stat-card.is-muted .stat-icon{color:#a5a3a8;background:#f0f0f2}.cell-filter{display:inline-flex;padding:1px 4px;margin:-1px -4px;border-radius:6px;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.cell-filter .ant-tag{margin:0}.cell-filter:hover{background:#ff6b0014;box-shadow:0 0 0 1px #ff6b0059}.cell-filter:focus-visible{outline:2px solid rgba(255,107,0,.5);outline-offset:1px}
