:root{--hbd-brand:#061b4f;--hbd-blue:#155eef;--hbd-orange:#ff7a00;--hbd-success:#16a34a;--hbd-surface:#f5f7fb;--hbd-text:#172033}:root{font-family:Inter,Microsoft YaHei,sans-serif;color:#17243d;background:#f3f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#1c56ae 0,transparent 34%),linear-gradient(135deg,#06183f,#0a2862 60%,#06142e)}.login-panel{width:min(100%,420px);padding:48px;border:1px solid #ffffff25;border-radius:22px;color:#fff;background:#0d2a5ddd;box-shadow:0 28px 80px #0006}.login-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:#09225c;background:#fff;font-size:30px;font-weight:900;font-style:italic}.login-panel>small{display:block;margin-top:22px;color:#90b7f7;letter-spacing:.16em}.login-panel h1{margin:10px 0 8px;font-size:26px}.login-panel>p{color:#bbcae6;margin:0 0 26px}.qr-login{width:260px;height:260px;display:grid;place-items:center;margin:24px auto 16px;padding:10px;border-radius:14px;background:#fff}.qr-login img{width:100%;height:100%;display:block}.qr-placeholder{color:#496486;font-size:13px}.qr-title{margin:14px 0 7px!important;color:#fff!important;text-align:center;font-size:17px;font-weight:700}.qr-help{margin-bottom:18px!important;color:#b7c9e8!important;text-align:center;font-size:13px;line-height:1.7}.login-panel label{display:block;font-size:13px;color:#d8e3f9;margin:16px 0}.login-panel input{width:100%;margin-top:8px;border:1px solid #ffffff38;border-radius:9px;padding:13px;color:#fff;background:#061a40;font:inherit;outline:0}.code-row{display:flex;align-items:end;gap:8px}.code-row input{flex:1}.code-row button{white-space:nowrap;border:0;border-radius:9px;padding:13px 11px;color:#fff;background:#2862bb;cursor:pointer}.login-submit{width:100%;margin-top:8px;border:0;border-radius:9px;padding:14px;color:#fff;background:#ff7a1a;font:600 16px inherit;cursor:pointer}.login-panel button:disabled{opacity:.55;cursor:wait}.login-panel .login-message{margin:16px 0 0;min-height:18px;color:#ffcb9d;font-size:13px}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#071b46,#09265d);color:#fff;padding:24px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 24px;border-bottom:1px solid #ffffff17}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#fff,#b9ccf5);color:#08225a;display:grid;place-items:center;font-size:24px;font-weight:900;font-style:italic;box-shadow:0 8px 24px #0004}.brand b,.brand small{display:block}.brand b{font-size:17px}.brand small{font-size:10px;color:#94a9d4;margin-top:3px;letter-spacing:.08em}aside nav{padding:18px 0;display:flex;flex-direction:column;gap:3px;overflow:auto}aside nav button{border:0;background:transparent;color:#b8c6e3;text-align:left;padding:10px 12px;border-radius:9px;display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}aside nav button i{width:17px;height:17px;border:1.5px solid currentColor;border-radius:5px;opacity:.8}aside nav button:hover,aside nav button.active{background:linear-gradient(90deg,#23519a,#173e81);color:#fff;box-shadow:inset 3px 0 #ff8a2a}aside nav button em{margin-left:auto;background:#ff7622;color:#fff;font-style:normal;font-size:11px;min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center}.aside-foot{margin-top:auto;padding:17px 8px 0;border-top:1px solid #ffffff17;display:flex;align-items:center;gap:9px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#ff8a2a;font-weight:700}.aside-foot div{flex:1}.aside-foot b,.aside-foot small{display:block}.aside-foot b{font-size:12px}.aside-foot small{font-size:10px;color:#8fa5d2;margin-top:3px}.aside-foot button{background:none;border:0;color:#9cb0d7}main{min-width:0;padding:0 30px 36px}.topbar{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e9f1;margin-bottom:24px}.topbar h1{font-size:24px;margin:0;color:#0b2350}.topbar p{font-size:12px;color:#7c899e;margin:5px 0}.top-actions{display:flex;align-items:center;gap:10px}.top-actions button{border:1px solid #dce3ed;background:#fff;color:#728096;border-radius:9px;height:38px}.search{width:218px;text-align:left;padding:0 13px}.notify{width:38px;position:relative}.notify i{position:absolute;width:7px;height:7px;background:#ff7425;border-radius:50%;right:7px;top:7px}.date{font-size:12px;color:#7b8798;margin-left:5px}.loading,.empty{background:#fff;border:1px solid #e5eaf1;border-radius:14px;padding:50px;text-align:center;color:#8290a4}.welcome{background:linear-gradient(105deg,#0a2c6c,#123f86 65%,#1b55a4);border-radius:17px;color:#fff;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 30px #0b357526;position:relative;overflow:hidden}.welcome:after{content:"";position:absolute;width:260px;height:260px;border:45px solid #ffffff0a;border-radius:50%;right:90px;top:-110px}.welcome span{color:#aec6f2;font-size:12px}.welcome h2{margin:7px 0;font-size:21px}.welcome h2 b{color:#ffb46d;font-size:27px}.welcome p{margin:0;color:#bfd0ed;font-size:12px}.welcome button{z-index:1;border:1px solid #ffffff45;background:#ffffff13;color:#fff;border-radius:9px;padding:11px 17px}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.metrics article{background:#fff;border:1px solid #e3e9f2;border-radius:13px;padding:16px;display:flex;gap:12px;align-items:center;box-shadow:0 5px 16px #183f7509}.metrics article.urgent{border-color:#ffc4b2;background:#fffaf8}.metric-icon{width:39px;height:39px;border-radius:11px;background:#edf3ff;color:#1755aa;display:grid;place-items:center;font-weight:800}.metrics article:nth-child(3n) .metric-icon{background:#fff2e8;color:#dc6816}.metrics article:nth-child(4n) .metric-icon{background:#eaf8f1;color:#168153}.metrics small,.metrics strong,.metrics em{display:block}.metrics small{color:#77869c;font-size:11px}.metrics strong{color:#102a5a;font-size:21px;margin-top:3px}.metrics em{font-style:normal;color:#a0abba;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:16px}.section-card{background:#fff;border:1px solid #e1e7f0;border-radius:14px;padding:20px}.section-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.section-title h2{margin:0;font-size:16px;color:#102957}.section-title p{font-size:11px;color:#8a96a9;margin:5px 0}.section-title button{background:none;border:0;color:#2364bc}.empty{padding:35px;border:0;background:#f8fafc}.empty span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#e7f7ee;color:#168153;font-size:21px}.empty b{display:block;margin-top:9px;color:#37506f}.empty p{margin:5px;color:#8b98aa;font-size:11px}.empty.compact{padding:25px}.task-row{display:grid;grid-template-columns:70px minmax(0,1fr) 105px 80px;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #eef1f5}.task-row b,.task-row small{display:block}.task-row b{font-size:13px}.task-row small,.task-row time{font-size:10px;color:#8996a7}.task-row button,.reminders .section-title button{border:1px solid #d9e4f4;background:#fff;color:#2464b5;border-radius:7px;padding:7px}.priority{font-size:10px;border-radius:12px;padding:5px 9px;text-align:center}.priority.overdue{background:#ffebe7;color:#d84029}.priority.today{background:#fff1df;color:#d36a14}.priority.pending{background:#eaf2ff;color:#2165bc}.reminder{display:flex;align-items:center;gap:10px;border-top:1px solid #eef1f5;padding:11px 0}.date-badge{width:38px;height:42px;border-radius:8px;background:#edf3ff;display:grid;place-items:center;color:#174f9b}.date-badge b{font-size:15px;line-height:12px}.date-badge small{font-size:9px}.reminder>div:nth-child(2){flex:1}.reminder b{font-size:12px}.reminder p{font-size:10px;color:#77859b;margin:3px 0}.reminder>span{font-size:10px;color:#8591a4}.task-hero{background:linear-gradient(120deg,#092764,#16468d);border-radius:16px;padding:25px 29px;color:#fff;display:flex;justify-content:space-between}.task-hero small{color:#a9c4ef}.task-hero h2{margin:6px 0}.task-hero p{margin:0;color:#b8cae7;font-size:12px}.task-hero>div:last-child{text-align:center;padding:0 25px}.task-hero>div:last-child b{display:block;font-size:34px;color:#ffae61}.task-hero>div:last-child span{font-size:11px}.filterbar{display:flex;align-items:center;gap:7px;margin:17px 0}.filterbar span{flex:1}.filterbar button{border:1px solid #dfe5ee;background:#fff;padding:9px 13px;border-radius:8px;color:#65758c}.filterbar button.selected{background:#0d397c;color:#fff}.filterbar i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.red{background:#e55039}.orange{background:#ed8a2f}.blue{background:#3478d4}.gray{background:#9ca8ba}.task-board{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:14px}.empty.large{grid-column:1/-1;padding:80px}.task-card{background:#fff;border:1px solid #e0e7f0;border-radius:14px;padding:17px}.task-card-head{display:flex;align-items:center}.task-card-head small{margin-left:9px;color:#94a0b1}.task-card-head button{margin-left:auto;border:0;background:none}.task-card h3{font-size:16px;color:#102957;margin:15px 0}.customer-line{display:flex;align-items:center;gap:8px}.customer-line>span{width:29px;height:29px;border-radius:8px;background:#e8f0ff;color:#255da9;display:grid;place-items:center}.customer-line b{font-size:12px}.customer-line em{font-style:normal;font-size:10px;color:#8491a4}.task-card dl{border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5;padding:10px 0}.task-card dl div{display:flex;justify-content:space-between;font-size:11px;padding:4px}.task-card dt{color:#8a96a9}.task-card dd{margin:0}.steps{background:#f5f8fc;padding:10px;border-radius:8px}.steps b{font-size:11px}.steps p{font-size:10px;color:#79879a;margin:4px 0}.primary{width:100%;border:0;background:linear-gradient(90deg,#ff7a24,#ff963d);color:#fff;border-radius:8px;padding:10px;margin-top:12px}.crm-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:15px}.customer-list,.customer-detail{background:#fff;border:1px solid #e0e7ef;border-radius:14px}.customer-list{padding:13px}.crm-search{background:#f4f7fb;color:#8b98aa;padding:11px;border-radius:8px;font-size:11px}.list-head{display:flex;justify-content:space-between;padding:17px 5px 10px;font-size:12px}.customer-list>button{width:100%;border:0;background:transparent;padding:11px 8px;display:flex;align-items:center;gap:9px;border-radius:10px;text-align:left}.customer-list>button.selected{background:#edf4ff}.customer-avatar,.big-avatar{background:linear-gradient(145deg,#1c5db4,#0c3477);color:#fff;display:grid;place-items:center}.customer-avatar{width:37px;height:37px;border-radius:10px}.customer-list button div{flex:1}.customer-list button b,.customer-list button small{display:block}.customer-list button b{font-size:12px}.customer-list button small{font-size:10px;color:#8895a8;margin-top:4px}.customer-list button em{font-style:normal;color:#8190a5}.customer-detail{padding:20px}.customer-cover{display:flex;align-items:center;gap:14px}.big-avatar{width:62px;height:62px;border-radius:15px;font-size:25px}.customer-cover>div{flex:1}.customer-cover small{background:#e9f7ef;color:#168052;border-radius:10px;padding:4px 8px}.customer-cover h2{margin:8px 0 3px;color:#102957}.customer-cover p{font-size:11px;color:#8290a4;margin:0}.customer-cover button,.next-action button{border:0;background:#0d3c80;color:#fff;border-radius:8px;padding:9px 13px}.customer-cover button.outline{background:#fff;color:#315d9b;border:1px solid #d4dfed}.next-action{margin:19px 0;background:linear-gradient(90deg,#fff8ee,#fffdf9);border:1px solid #f3dcc0;border-radius:11px;padding:13px;display:flex;align-items:center;gap:13px}.next-action>span{background:#ff862d;color:#fff;padding:7px 10px;border-radius:8px;font-size:11px}.next-action>div{flex:1}.next-action b{font-size:13px;color:#6e3d13}.next-action p{font-size:10px;color:#94785f;margin:3px 0}.detail-tabs{display:flex;border-bottom:1px solid #e6ebf1}.detail-tabs button{border:0;background:none;padding:11px 15px;color:#76859a}.detail-tabs button.active{color:#174f9d;border-bottom:2px solid #2365bb}.crm-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.info-card{border:1px solid #e5eaf1;border-radius:11px;padding:15px;margin-bottom:14px}.info-card h3{font-size:13px;color:#153461;margin-top:0}.info-card dl div{display:grid;grid-template-columns:80px 1fr;padding:7px 0;font-size:11px;border-top:1px solid #f0f2f5}.info-card dt{color:#8995a7}.info-card dd{margin:0}.record{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #eef1f4}.record>span{width:30px;height:30px;border-radius:8px;background:#edf3ff;color:#2460ae;display:grid;place-items:center}.record>span.orange-bg{background:#fff0e4;color:#dc6d1b}.record div{flex:1}.record b,.record small{display:block}.record b{font-size:11px}.record small{font-size:9px;color:#8995a7;margin-top:3px}.project-record{padding:9px 0;border-top:1px solid #eef1f4}.project-record>div:first-child{display:flex;justify-content:space-between;font-size:11px}.project-record span{color:#23825c}.mini-progress{height:5px;background:#edf1f6;border-radius:4px;margin:8px 0}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#1e68bd,#35a87d);border-radius:4px}.project-record small,.muted{font-size:9px;color:#8995a7}@media(max-width:1050px){.metrics{grid-template-columns:repeat(3,1fr)}.task-board{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.top-actions .search,.date{display:none}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}aside{display:none}main{padding:0 14px 25px}.metrics{grid-template-columns:repeat(2,1fr)}.task-board,.crm-columns,.crm-layout{grid-template-columns:1fr}.customer-list{display:none}.topbar{height:70px}}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:16px;border-bottom:1px solid #edf1f5}th{color:#758196;font-size:13px}td small{background:#fff1df;color:#d76c20;padding:3px 6px;border-radius:5px}
