*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#1f1f1f;-webkit-font-smoothing:antialiased;background:#f7f5f2}.app-shell{height:100vh;display:flex;overflow:hidden}.app-sider{background:#fff;border-right:1px solid #efeae4;flex-direction:column;flex-shrink:0;width:232px;transition:width .2s;display:flex}.app-shell.collapsed .app-sider{width:72px}.brand{cursor:pointer;align-items:center;gap:10px;padding:20px 18px 16px;display:flex}.brand-logo{color:#fff;background:#ff6a13;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:flex}.brand-title{font-size:16px;font-weight:700;line-height:1.2}.brand-sub{color:#8c8c8c;font-size:12px}.app-nav{flex:1;padding:4px 10px;overflow-y:auto}.nav-group{margin-bottom:10px}.nav-group-title{color:#a6a29d;padding:8px 10px 4px;font-size:12px}.nav-item{color:#3a3a3a;border-radius:10px;align-items:center;gap:10px;margin:2px 0;padding:9px 12px;font-size:14px;transition:background .15s;display:flex}.nav-item:hover{color:#ff6a13;background:#fbf3ed}.nav-item.active{color:#ff6a13;background:#fff1e8;font-weight:600}.nav-icon{justify-content:center;width:18px;font-size:16px;display:inline-flex}.app-shell.collapsed .nav-item{justify-content:center;padding:10px 0}.sider-footer{color:#8c8c8c;cursor:pointer;border-top:1px solid #f2ede7;align-items:center;gap:8px;padding:14px 20px;font-size:13px;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{background:#f7f5f2;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.header-right{align-items:center;gap:10px;display:flex}.user-chip{cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:4px 8px;display:flex}.user-chip:hover{background:#efeae4}.app-content{flex:1;padding:4px 24px 32px;overflow:auto}.page-loading{justify-content:center;padding:120px 0;display:flex}.page-header{margin-bottom:16px}.page-header-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.panel{background:#fff;border:1px solid #efeae4;border-radius:12px;padding:16px 20px}.muted{color:#8c8c8c}.file-thumb .ant-image{width:100%;height:100%}.soft-card{background:#fff;border:1px solid #efeae4;border-radius:14px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.stat-card{background:#fff;border:1px solid #efeae4;border-radius:14px;padding:16px 18px}.stat-card .num{font-size:26px;font-weight:700}.stat-card .label{color:#8c8c8c;font-size:13px}.login-page{background:radial-gradient(1200px 600px at 80% 10%,#ffe6d6 0%,#0000 60%),#f7f5f2;min-height:100vh;display:flex}.login-left{flex-direction:column;flex:1;justify-content:center;padding:64px;display:flex}.login-left h1{margin:24px 0 12px;font-size:40px}.login-left p{color:#666;max-width:520px;font-size:16px}.login-card{background:#fff;border-radius:20px;width:420px;margin:auto 96px auto 0;padding:36px;box-shadow:0 20px 60px #ff6a1314}.login-features{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.login-features span{color:#555;background:#fff;border:1px solid #f0e6dd;border-radius:20px;padding:6px 14px;font-size:13px}@media (width<=960px){.login-left{display:none}.login-card{margin:auto}}.hero{background:linear-gradient(120deg,#fff 0%,#fff4ec 60%,#ffe2cf 100%);border:1px solid #f3e4d8;border-radius:20px;margin-bottom:20px;padding:28px 32px}.hero h2{margin:0 0 6px;font-size:26px}.quick-entry{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:20px;display:grid}.quick-entry a{color:#1f1f1f;background:#fff;border:1px solid #f0e6dd;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.quick-entry a:hover{border-color:#ff6a13;box-shadow:0 6px 20px #ff6a1318}.quick-entry .qe-icon{color:#ff6a13;background:#fff1e8;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.quick-entry .qe-title{font-weight:600}.quick-entry .qe-sub{color:#8c8c8c;font-size:12px}
