:root{--navy:#10233f;--blue:#1769d2;--teal:#0a8f83;--ink:#172033;--muted:#65738a;--line:#dfe5ed;--bg:#f3f6fa;--white:#fff;--danger:#c33c4a;--shadow:0 2px 8px rgba(16,35,63,.055)}
body{font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;background:var(--bg);color:var(--ink)}
.shell{grid-template-columns:224px 1fr}.workspace{grid-column:2}aside{width:224px;padding:22px 14px;background:#10233f;border-right:1px solid #203651}.side-brand{padding:2px 10px 22px;border-bottom:1px solid #ffffff17}.brand-mark{border-radius:9px;background:#0a8f83;box-shadow:none}.side-brand .brand-mark{width:38px;height:38px;border-radius:9px}.side-brand b{font-size:17px}.side-brand small{letter-spacing:1.2px;color:#93a7c2}.nav-btn{min-height:43px;padding:10px 12px;border-radius:7px;color:#bdc9d9;font-size:14px}.nav-btn span{font-size:16px;color:#8ba1bd}.nav-btn:hover{background:#ffffff0b}.nav-btn.active{background:#1a3c68;color:#fff;box-shadow:inset 3px 0 0 #35a6ff}.nav-btn.active span{color:#8ecbff}.aside-foot{padding:16px 8px 0;border-color:#ffffff17}.account-btn{border-radius:6px}.workspace header{height:68px;padding:0 26px;border-bottom:1px solid var(--line);box-shadow:none}.workspace header h2{font-size:20px;font-weight:700}.workspace header p{margin-top:3px}.content{padding:18px 24px 28px;max-width:none}.metric-grid{gap:10px}.metric,.card{border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.metric{padding:17px 18px;min-height:112px}.metric span{color:#526177;font-weight:600}.metric strong{font-size:27px;margin:9px 0 3px;letter-spacing:-.5px}.metric small{font-size:12px}.dashboard-grid{gap:12px;margin-top:12px}.card{padding:18px;margin-bottom:12px}.card h3{font-size:16px;margin-bottom:16px}.toolbar{padding:0;margin-bottom:14px}.toolbar h3{font-size:19px}.toolbar small{display:block;margin-top:4px;color:var(--muted)}.actions{align-items:center}.actions select,.actions input,.toolbar select,.toolbar input{width:auto;min-height:38px;margin:0;border-radius:7px;border-color:#ccd6e3;background:#fff;padding:8px 11px}.primary{border-radius:7px;background:#1769d2;box-shadow:none;padding:10px 16px}.primary:hover{background:#105bb9}.secondary,.small-btn{border-radius:7px;background:#fff;border-color:#ccd6e3}.ring{width:132px;background:conic-gradient(var(--ring) calc(var(--pct)*1%),#e7ecf3 0)}.ring:after{inset:11px}.ring b{font-size:22px}.pay{border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;padding:14px}.pay b{font-size:19px}table{border:1px solid var(--line);background:#fff}th,td{padding:11px 12px;border-bottom:1px solid #e8edf3}th{background:#f6f8fb;color:#536178;font-size:12px}tbody tr:hover{background:#f8fbff}.tag{border-radius:5px;padding:4px 8px}.bar{height:5px}.bar i{background:#1769d2}.form-grid input,.form-grid select,.form-grid textarea,.field input,.field select,.field textarea{border-radius:7px}.login-page{grid-template-columns:minmax(520px,1.1fr) minmax(420px,.9fr)}.brand-panel{background:#10233f}.brand-panel:after{display:none}.eyebrow{color:#62c9c0}.hero h1{font-size:54px;letter-spacing:-2px}.login-card h2{font-size:28px}.login-card input{border-radius:7px}.login-card .primary{border-radius:7px}.modal-head{padding:16px 20px}dialog{border-radius:10px;box-shadow:0 22px 65px #10233f40}
#wechatPanel{border-radius:10px!important;border-color:#cfd8e5!important;box-shadow:0 12px 32px #10233f26!important;background:#fff!important}.chat-panel-title{background:#17375e!important;text-shadow:none!important}.chat-contacts button{border-bottom-color:#e6ebf1!important}.chat-contacts button:hover{background:#f3f7fc!important}.chat-window{background:#eef2f6!important}.chat-bubble{color:#172033!important;background:#fff!important;border-color:#dce3ec!important;box-shadow:none!important}.chat-bubble.mine{background:#b7e9a8!important}.chat-bubble.mine span{background:transparent!important}.chat-form input{border-radius:7px!important}
@media(max-width:900px){.shell{display:block}.workspace{margin-left:0}.content{padding:14px}.metric-grid{gap:8px}}
.pro-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.pro-toolbar h3{margin:0;font-size:20px}.pro-toolbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.pro-range{display:flex;align-items:center;border:1px solid #d5dde8;border-radius:7px;background:#fff;overflow:hidden}.pro-range>button{height:36px;padding:0 15px;background:#fff;color:#415069;border-right:1px solid #e2e7ee;font-size:13px}.pro-range>button:last-of-type{border-right:0}.pro-range>button:hover{background:#f3f7fc}.pro-range>button.active{background:#1769d2;color:#fff}.pro-custom{display:flex;align-items:center;gap:6px;padding:0 8px;border-left:1px solid #dce3ec}.pro-custom input{width:126px;height:32px;margin:0;padding:5px 7px;border:0;border-radius:0}.pro-custom span{color:#8a96a8;font-size:12px}.pro-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.pro-kpi{display:flex;align-items:center;gap:14px;min-width:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.pro-kpi>i{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#1769d2;font-size:21px;font-style:normal;font-weight:800}.pro-kpi.arrived>i{background:#e2f5ec;color:#15936b}.pro-kpi.trial>i{background:#fff0dc;color:#db7a16}.pro-kpi.signed>i{background:#e4f1ff;color:#1769d2}.pro-kpi.paid>i{background:#ffe9e8;color:#d74b43}.pro-kpi span,.pro-kpi small{display:block}.pro-kpi span{font-size:13px;color:#4c5a70;font-weight:600}.pro-kpi strong{display:block;margin:5px 0 3px;font-size:25px;white-space:nowrap}.pro-kpi small{color:#8a97aa;font-size:11px}.pro-analytics{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;margin-top:10px}.pro-panel,.pro-table-panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.pro-panel{padding:18px}.pro-panel>header,.pro-table-panel>header{display:flex;justify-content:space-between;align-items:center;gap:16px}.pro-panel header h3,.pro-table-panel h3{margin:0;font-size:16px}.pro-panel header span,.pro-table-panel header p{margin:3px 0 0;color:#8491a4;font-size:11px}.pro-funnel{display:flex;flex-direction:column;align-items:center;margin:18px auto 12px;max-width:520px}.pro-funnel>div{width:var(--w);height:50px;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;background:var(--c);clip-path:polygon(4% 0,96% 0,88% 100%,12% 100%);margin-top:-1px}.pro-funnel span{font-size:12px}.pro-funnel b{font-size:18px}.pro-conversions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e5eaf1;padding-top:13px}.pro-conversions span{text-align:center;color:#65738a;font-size:11px}.pro-conversions b{display:block;color:#1e2b40;font-size:17px;margin-top:4px}.pro-payments{margin-top:18px}.pro-payments>div{display:grid;grid-template-columns:12px 1fr auto auto;gap:10px;align-items:center;padding:12px 3px;border-bottom:1px solid #edf0f4}.pro-payments span{color:#405068}.pro-payments b{font-size:12px}.pro-payments strong{min-width:92px;text-align:right}.pay-dot{width:9px;height:9px;border-radius:50%;background:#2675dc}.pay-dot.p1{background:#20a88b}.pay-dot.p2{background:#ef9a2b}.pro-pay-total{display:flex;justify-content:space-between;align-items:end;padding-top:19px}.pro-pay-total span{color:#65738a}.pro-pay-total strong{font-size:25px}.pro-table-panel{margin-top:10px;padding:16px}.pro-table-panel>header{margin-bottom:12px}.pro-table-panel>header input{width:230px;margin:0;padding:9px 11px;border-radius:6px}.pro-table-panel table{border-left:0;border-right:0}.pro-rate{font-style:normal;color:#12835f;font-weight:700}.pro-mini{width:90px;height:5px;background:#edf1f5;border-radius:4px}.pro-mini i{display:block;height:100%;background:#1769d2;border-radius:4px}
@media(max-width:1150px){.pro-kpis{grid-template-columns:repeat(3,1fr)}.pro-analytics{grid-template-columns:1fr}.pro-toolbar{align-items:flex-start;flex-direction:column}.pro-range{flex-wrap:wrap}}
@media(max-width:700px){.pro-kpis{grid-template-columns:repeat(2,1fr)}.pro-kpi{padding:13px;gap:9px}.pro-kpi>i{width:34px;height:34px}.pro-kpi strong{font-size:21px}.pro-range{width:100%;overflow:auto}.pro-range>button{padding:0 11px;white-space:nowrap}.pro-custom{width:100%;padding:6px}.pro-analytics{display:block}.pro-conversions{grid-template-columns:1fr;gap:8px}.pro-conversions span{text-align:left}.pro-table-panel>header{align-items:flex-start;flex-direction:column}.pro-table-panel>header input{width:100%}}
 .pro-toolbar>div:first-child{display:none}.pro-toolbar{justify-content:flex-end}.pro-pay-layout{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px;margin-top:16px}.pro-donut{width:158px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;margin:auto}.pro-donut:after{content:"";position:absolute;inset:24px;background:#fff;border-radius:50%}.pro-donut>div{position:relative;z-index:1;text-align:center}.pro-donut b,.pro-donut span{display:block}.pro-donut b{font-size:18px}.pro-donut span{margin-top:4px;color:#7c899c;font-size:11px}@media(max-width:700px){.pro-pay-layout{grid-template-columns:1fr}.pro-donut{width:138px}}

/* 合作商经营中心 */
.partner-dashboard{max-width:1500px;margin:0 auto}.partner-welcome{min-height:184px;position:relative;overflow:hidden;display:flex;align-items:center;padding:28px 36px;border-radius:11px;color:#fff;background:linear-gradient(105deg,#0d2445 0%,#123e68 56%,#176d82 100%);box-shadow:0 8px 22px rgba(16,35,63,.14)}.partner-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,rgba(255,255,255,.07));pointer-events:none}.partner-welcome>div:first-child{position:relative;z-index:2}.partner-welcome small{font-size:10px;letter-spacing:3px;color:#66e0d2}.partner-welcome h2{margin:8px 0 4px;font-size:30px;letter-spacing:.5px}.partner-welcome p{margin:0;color:#d7e6f4;font-size:14px}.partner-welcome p b{color:#fff;font-size:17px}.partner-create{margin-top:22px;padding:11px 17px;border:1px solid #79e9dc;border-radius:7px;background:#51d6c8;color:#082b39;font-weight:800;box-shadow:0 5px 15px rgba(19,207,188,.2)}.partner-create:hover{background:#72e5da}.partner-create span{margin-left:10px}.welcome-orbit{position:absolute!important;z-index:0!important;width:420px;height:420px;right:70px;top:-245px;border:1px solid rgba(129,223,228,.23);border-radius:50%}.welcome-orbit:before,.welcome-orbit:after{content:"";position:absolute;border:1px solid rgba(129,223,228,.16);border-radius:50%}.welcome-orbit:before{inset:35px}.welcome-orbit:after{inset:72px}.welcome-seal{position:absolute;z-index:2;right:48px;bottom:36px;display:flex;flex-direction:column;align-items:flex-end}.welcome-seal b{font-size:19px}.welcome-seal span{margin-top:4px;font-size:11px;color:#a9dfe1;letter-spacing:1px}.partner-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.partner-kpis article{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.partner-kpis i{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#e6f7f4;color:#0a8f83;font-style:normal;font-weight:800}.partner-kpis article.cyan i{background:#e7f2ff;color:#2878dc}.partner-kpis article.orange i{background:#fff1df;color:#dc7b17}.partner-kpis article.green i{background:#e4f7ee;color:#14946c}.partner-kpis span,.partner-kpis small{display:block}.partner-kpis span{font-size:13px;color:#536177;font-weight:600}.partner-kpis strong{display:block;margin:3px 0;font-size:25px}.partner-kpis small{font-size:11px;color:#8b97a9}.partner-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;margin-top:12px}.partner-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.partner-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.partner-card header h3{margin:0 0 4px;font-size:16px}.partner-card header p{margin:0;color:#8390a3;font-size:11px}.partner-card header>span{color:#8390a3;font-size:11px}.partner-card header button{padding:0;background:transparent;color:#1769d2;font-size:12px}.pipeline-steps{display:grid;grid-template-columns:repeat(5,1fr);padding:8px 4px}.pipeline-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.pipeline-step:not(:last-child):after{content:"";position:absolute;top:17px;left:calc(50% + 23px);right:calc(-50% + 23px);height:2px;background:linear-gradient(90deg,#35b9aa,#8bc8e9)}.pipeline-step i{position:relative;z-index:1;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#fff;border:6px solid #ccefeb;color:#087e73;font-style:normal;font-weight:800;box-shadow:0 0 0 1px #9fded7}.pipeline-step b{margin-top:9px;font-size:12px}.pipeline-step strong{margin:3px 0 1px;font-size:20px}.pipeline-step small{color:#8491a3;font-size:10px}.partner-recent{margin-top:12px;padding-bottom:7px}.partner-recent .table-wrap{overflow:auto}.partner-recent table{border-left:0;border-right:0}.partner-recent td:first-child small{display:block;margin-top:3px;color:#8995a6}.recent-status{color:#536177;font-size:12px}.partner-side{width:auto;background:transparent;border:0;padding:0}.partner-todos button{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #edf1f5;background:#fff;text-align:left}.partner-todos button>i{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#e4f7ee;color:#138b68;font-style:normal;font-weight:800}.partner-todos button>i.blue{background:#e8f1ff;color:#2470d1}.partner-todos button>i.orange{background:#fff0dc;color:#d57916}.partner-todos button span b,.partner-todos button span small{display:block}.partner-todos button span b{font-size:13px}.partner-todos button span small{margin-top:3px;color:#8b97a8;font-size:10px}.partner-todos button>strong{min-width:25px;color:#1769d2;font-size:18px;text-align:center}.partner-feed{margin-top:12px}.feed-item{position:relative;display:grid;grid-template-columns:10px 1fr;gap:10px;padding:0 0 15px}.feed-item>i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#22a78b;box-shadow:0 0 0 4px #e4f7f2}.feed-item:not(:last-child):after{content:"";position:absolute;left:3px;top:15px;bottom:3px;width:1px;background:#dfe6ee}.feed-item b{font-size:12px}.feed-item p{margin:4px 0;color:#657389;font-size:11px;line-height:1.45}.feed-item small{color:#9aa5b4;font-size:10px}
@media(max-width:1150px){.partner-main-grid{grid-template-columns:1fr}.partner-kpis{grid-template-columns:repeat(2,1fr)}.partner-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.partner-feed{margin-top:0}}
@media(max-width:700px){.partner-welcome{padding:24px}.welcome-seal{display:none}.partner-welcome h2{font-size:25px}.partner-kpis{grid-template-columns:1fr}.pipeline-steps{overflow:auto;grid-template-columns:repeat(5,110px)}.partner-side{display:block}.partner-feed{margin-top:12px}}

/* 接待老师工作台 */
.staff-dashboard{max-width:1500px;margin:0 auto}.staff-welcome{position:relative;min-height:168px;overflow:hidden;display:flex;align-items:center;padding:28px 34px;border-radius:11px;background:linear-gradient(108deg,#0b2548,#124b76 65%,#087b83);color:#fff;box-shadow:0 8px 22px rgba(16,35,63,.14)}.staff-welcome>div:first-child{position:relative;z-index:2}.staff-welcome small{color:#68dfd1;font-size:10px;letter-spacing:3px}.staff-welcome h2{margin:8px 0 5px;font-size:29px}.staff-welcome p{margin:0;max-width:760px;color:#d7e7f2;font-size:13px}.staff-welcome p b{color:#66eadb;font-size:16px}.staff-welcome button{margin-top:20px;padding:11px 18px;border-radius:7px;background:#54ddcf;color:#082d39;font-weight:800}.staff-welcome button span{margin-left:12px}.staff-welcome em{margin-left:20px;color:#d5e4ee;font-size:12px;font-style:normal}.staff-welcome blockquote{position:absolute;z-index:2;right:40px;bottom:32px;margin:0;text-align:right;color:#d9f1f0;font-size:13px;line-height:1.7}.staff-lines{position:absolute!important;right:-40px;top:-160px;width:560px;height:380px;border:1px solid #52cdd12e;border-radius:50%;transform:rotate(-12deg)}.staff-lines:before,.staff-lines:after{content:"";position:absolute;border:1px solid #52cdd125;border-radius:50%}.staff-lines:before{inset:40px}.staff-lines:after{inset:82px}.staff-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}.staff-kpis article{display:flex;align-items:center;gap:14px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.staff-kpis i{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#e8f2ff;color:#1769d2;font-style:normal;font-weight:800}.staff-kpis article:nth-child(2) i{background:#e5f7f5;color:#0c9385}.staff-kpis article:nth-child(3) i{background:#fff1df;color:#da7b18}.staff-kpis article:nth-child(4) i{background:#e6f7ee;color:#15946d}.staff-kpis span,.staff-kpis small{display:block}.staff-kpis span{font-size:12px;color:#56647a}.staff-kpis strong{display:block;margin:3px 0;font-size:24px}.staff-kpis small{color:#929dad;font-size:10px}.staff-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.staff-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.staff-card header h3{margin:0 0 4px;font-size:16px}.staff-card header p,.staff-card header>span{margin:0;color:#8793a5;font-size:11px}.staff-card header button{padding:0;background:transparent;color:#1769d2;font-size:11px}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.focus-grid button{position:relative;display:grid;grid-template-columns:36px 1fr auto;grid-template-rows:auto auto;gap:3px 10px;align-items:center;padding:14px;text-align:left;border:1px solid #e3e9f1;border-radius:8px;background:#f8fafc}.focus-grid button.urgent{background:#fff8f8;border-color:#f3d8da}.focus-grid button.warning{background:#fffaf2;border-color:#f2e1bf}.focus-grid button.info{background:#f5f9ff;border-color:#d8e5f7}.focus-grid i{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eb5260;color:#fff;font-style:normal;font-weight:800}.focus-grid .warning i{background:#ee9a29}.focus-grid .info i{background:#3780e4}.focus-grid b{font-size:13px}.focus-grid strong{font-size:21px;color:#1e2c42}.focus-grid small{color:#7c899b;font-size:10px}.focus-grid em{position:absolute;right:13px;bottom:10px;color:#1769d2;font-size:10px;font-style:normal}.staff-lower{display:grid;grid-template-columns:.9fr 1.05fr 1.15fr;gap:12px;margin-top:12px}.staff-funnel-bars{height:180px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:5px 8px}.staff-funnel-bars>div{flex:1;display:flex;flex-direction:column;align-items:center}.staff-funnel-bars b{font-size:11px}.staff-funnel-bars strong{font-size:17px;margin:3px}.staff-funnel-bars i{width:42px;margin-top:5px;border-radius:5px 5px 1px 1px;background:linear-gradient(#3488e9,#1769d2)}.staff-funnel-bars>div:nth-child(2) i{background:linear-gradient(#36b7db,#2292c6)}.staff-funnel-bars>div:nth-child(3) i{background:linear-gradient(#42cbc6,#18a79e)}.staff-funnel-bars>div:nth-child(4) i{background:linear-gradient(#4dd39e,#24aa78)}.staff-funnel-bars small{margin-top:5px;color:#68778c;font-size:10px}.staff-schedule>div{display:grid;grid-template-columns:45px 9px 1fr;gap:9px;position:relative;padding:9px 0}.staff-schedule time{color:#43536a;font-size:11px}.staff-schedule>div>i{width:8px;height:8px;margin-top:3px;border-radius:50%;background:#2581e7;box-shadow:0 0 0 4px #e7f1fd}.staff-schedule>div:not(:last-child):after{content:"";position:absolute;left:58px;top:24px;bottom:-4px;width:1px;background:#dce5ef}.staff-schedule span b,.staff-schedule span small{display:block}.staff-schedule span b{font-size:11px}.staff-schedule span small{margin-top:4px;color:#8793a4;font-size:10px}.trend-bars{height:150px;display:flex;align-items:flex-end;gap:8px;padding:8px 5px 0;border-bottom:1px solid #e5eaf1}.trend-bars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.trend-bars i{width:21px;border-radius:3px 3px 0 0;background:#3886e6}.trend-bars b{font-size:9px;color:#14a182}.trend-bars small{margin-top:4px;color:#8d98a8;font-size:8px}.staff-insight{margin-top:12px;padding:10px 12px;border-radius:7px;background:#e8f8f4;color:#167d68;font-size:10px;line-height:1.5}
@media(max-width:1150px){.staff-lower{grid-template-columns:1fr 1fr}.staff-trend{grid-column:1/-1}.staff-welcome blockquote{display:none}}
@media(max-width:700px){.staff-welcome{padding:24px}.staff-welcome h2{font-size:25px}.staff-welcome em{display:block;margin:12px 0 0}.staff-kpis,.focus-grid,.staff-lower{grid-template-columns:1fr}.staff-trend{grid-column:auto}}
.partner-main-grid>.partner-side{position:static;inset:auto;width:auto;height:auto;background:transparent;border:0;padding:0;overflow:visible;box-shadow:none}

/* 可配置品牌图片 */
.brand-panel{background-image:linear-gradient(90deg,rgba(9,31,61,.93),rgba(16,55,99,.84)),var(--brand-login-image,none);background-size:cover;background-position:center}.partner-welcome{background-image:linear-gradient(105deg,rgba(13,36,69,.96),rgba(18,62,104,.84) 56%,rgba(23,109,130,.65)),var(--brand-partner-image,none);background-size:cover;background-position:center}.staff-welcome{background-image:linear-gradient(108deg,rgba(11,37,72,.96),rgba(18,75,118,.84) 65%,rgba(8,123,131,.65)),var(--brand-staff-image,none);background-size:cover;background-position:center}.brand-mark.custom-logo{background-color:#fff;background-size:contain;background-position:center;background-repeat:no-repeat;color:transparent}.brand-settings{max-width:1180px}.brand-settings-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:19px 21px;margin-bottom:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.brand-settings-intro h3{margin:0 0 6px;font-size:19px}.brand-settings-intro p{margin:0;color:var(--muted);font-size:12px}.brand-settings-intro>span{padding:6px 9px;border-radius:5px;background:#e8f7f3;color:#147d69;font-size:11px}.brand-assets-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brand-asset-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.brand-preview{height:180px;display:grid;place-items:center;background-color:#112f55;background-image:linear-gradient(135deg,#102846,#187c83);background-size:cover;background-position:center;color:#fff;text-align:center}.brand-preview.logo{background-color:#f4f7fb;background-image:linear-gradient(135deg,#eef3f8,#dce8f1);color:#18324f;background-size:contain;background-repeat:no-repeat}.brand-preview div b,.brand-preview div small{display:block}.brand-preview div b{font-size:18px}.brand-preview div small{margin-top:6px;opacity:.75;font-size:11px}.brand-card-copy{display:flex;justify-content:space-between;gap:15px;padding:16px 17px 10px}.brand-card-copy h4{margin:0 0 5px}.brand-card-copy p{margin:0 0 6px;color:var(--muted);font-size:11px}.brand-card-copy small{color:#94a0b1;font-size:10px}.brand-file{position:relative;flex:0 0 auto}.brand-file input{position:absolute;width:1px;height:1px;opacity:0}.brand-file span{display:block;padding:8px 11px;border:1px solid #cfd8e4;border-radius:6px;color:#245f9f;font-size:11px;cursor:pointer}.brand-card-actions{display:flex;gap:8px;padding:0 17px 16px}.brand-card-actions button{padding:8px 12px;font-size:11px}.brand-safety-note{margin-top:12px;padding:16px 18px;border:1px solid #cce4dd;border-radius:8px;background:#eff9f6}.brand-safety-note b{font-size:13px}.brand-safety-note p{margin:5px 0 0;color:#527166;font-size:11px;line-height:1.65}@media(max-width:800px){.brand-assets-grid{grid-template-columns:1fr}.brand-settings-intro{flex-direction:column}.brand-preview{height:150px}}
/* AIGC 固定模板导入 */
.aigc-import-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid #d8e3f0;border-radius:8px;background:#f7faff;color:#526177;font-size:13px}.aigc-import-bar .secondary{padding:7px 12px;color:#1769d2;border-color:#b8cde7}.aigc-import-panel{margin:0 0 16px;padding:14px;border:1px dashed #9eb9d5;border-radius:8px;background:#f5f9fd}.aigc-import-panel p{margin:0 0 9px;color:#526177;font-size:13px}.aigc-import-panel textarea{width:100%;min-height:150px;resize:vertical;margin-bottom:10px;padding:10px;border:1px solid #cbd8e7;border-radius:7px;background:#fff;line-height:1.6}.aigc-import-panel .secondary{padding:8px 14px;color:#1769d2;border-color:#b8cde7}
/* 接单操作按钮保持高对比度，避免主题覆盖后白字白底 */
.actions .small-btn.primary,.small-btn.primary{background:#1769d2!important;color:#fff!important;border-color:#1769d2!important}.actions .small-btn.primary:hover,.small-btn.primary:hover{background:#105bb9!important;color:#fff!important}
/* 智能任务中心 */
.efficiency-tasks{margin-top:12px}.efficiency-tasks header{display:flex;align-items:center;justify-content:space-between}.efficiency-tasks header p{margin:4px 0 0;color:#718096;font-size:12px}.efficiency-tasks header>span{padding:5px 9px;border-radius:6px;background:#fff1e8;color:#b55221;font-size:11px}.efficiency-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.efficiency-task-list button{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e0e7ef;border-radius:8px;background:#fff;text-align:left}.efficiency-task-list button:hover{border-color:#93b9df;background:#f7fbff}.efficiency-task-list i{width:9px;height:9px;border-radius:50%;background:#f59e0b}.efficiency-task-list i.followup_overdue,.efficiency-task-list i.arrival_overdue{background:#dc3545}.efficiency-task-list span{min-width:0;flex:1}.efficiency-task-list b,.efficiency-task-list small{display:block}.efficiency-task-list small{margin-top:3px;color:#718096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efficiency-task-list em{color:#1769d2;font-style:normal;font-size:12px}@media(max-width:850px){.efficiency-task-list{grid-template-columns:1fr}}
/* 浏览器消息提示音开关 */
.header-right{display:flex;align-items:center;gap:12px}.sound-toggle{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #d6e0ec;border-radius:7px;background:#fff;color:#66758a;font-size:12px}.sound-toggle:hover{background:#f7faff;border-color:#abc4df}.sound-toggle.on{color:#1769d2;background:#eef6ff;border-color:#b9d3ef}.sound-toggle span{font-size:14px}.sound-toggle b{display:none;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#dc3545;color:#fff;font-size:10px;line-height:17px;text-align:center}.sound-toggle b.show{display:inline-block}
/* 定时强制已读公告 */
.announcement-preview{display:grid;place-items:center;min-height:90px;margin-top:10px;border:1px dashed #cbd8e7;border-radius:8px;background:#f7f9fc;color:#8a98aa}.announcement-preview img{display:block;max-width:100%;max-height:240px;border-radius:7px}.announcement-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(6,20,44,.72);backdrop-filter:blur(4px)}.announcement-popup{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid #dbe5f1;border-radius:16px;background:#fff;box-shadow:0 32px 90px rgba(0,20,55,.38)}.announcement-label{display:flex;align-items:center;gap:8px;padding:17px 22px;border-bottom:1px solid #e8edf3;color:#596b83;font-size:12px;font-weight:700;letter-spacing:.5px}.announcement-label i{width:8px;height:8px;border-radius:50%;background:#dc3545;box-shadow:0 0 0 5px #dc354519}.announcement-image{display:block;width:100%;max-height:300px;object-fit:cover}.announcement-copy{padding:24px 27px 26px}.announcement-copy time{color:#8a98aa;font-size:11px}.announcement-copy h2{margin:7px 0 14px;color:#10233f;font-size:24px}.announcement-body{color:#34445b;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.announcement-popup footer{position:sticky;bottom:0;padding:16px 22px;border-top:1px solid #e5ebf2;background:#f8fafc}.announcement-popup footer label{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#44546a;font-size:13px}.announcement-popup footer input{display:inline-block;width:auto;margin:0}.announcement-popup footer button{width:100%;padding:12px;border-radius:8px;background:#1769d2;color:#fff;font-weight:700}.announcement-popup footer button:disabled{cursor:not-allowed;background:#b7c4d3}
/* 极简任务驱动工作台 */
.focus-home{max-width:1280px;margin:0 auto}.focus-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 2px 18px}.focus-heading h2{margin:0;color:#10233f;font-size:27px;letter-spacing:-.5px}.focus-heading p{margin:6px 0 0;color:#718096;font-size:13px}.focus-heading .primary{padding:11px 18px}.focus-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;border:1px solid #dde5ee;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(27,55,91,.05)}.focus-metrics div{position:relative;padding:17px 24px}.focus-metrics div+div:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:1px;background:#e7ecf2}.focus-metrics strong{display:block;color:#1769d2;font-size:28px;line-height:1}.focus-metrics span{display:block;margin-top:8px;color:#526177;font-size:12px;font-weight:600}.focus-panel{margin-bottom:15px;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(27,55,91,.05);overflow:hidden}.focus-panel>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #e8edf3}.focus-panel>header h3{margin:0;color:#14263f;font-size:17px}.focus-panel>header p{margin:4px 0 0;color:#8491a3;font-size:11px}.text-action{background:transparent;color:#1769d2;font-size:12px}.focus-list>button,.focus-student-table>button{display:grid;grid-template-columns:12px minmax(240px,1fr) 110px 100px;align-items:center;gap:12px;width:100%;padding:13px 20px;border-bottom:1px solid #edf1f5;background:#fff;text-align:left}.focus-list>button:last-child,.focus-student-table>button:last-child{border-bottom:0}.focus-list>button:hover,.focus-student-table>button:hover,.focus-timeline>button:hover{background:#f7faff}.focus-list i{width:8px;height:8px;border-radius:50%;background:#f59e0b}.focus-list i.update{background:#1769d2}.focus-list i.danger{background:#dc3545}.focus-list span b,.focus-list span small,.focus-student-table span b,.focus-student-table span small{display:block}.focus-list span small,.focus-student-table span small{margin-top:4px;color:#78869a;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-list time{color:#8794a6;font-size:11px}.focus-list em,.focus-student-table em,.focus-timeline em{justify-self:end;color:#1769d2;font-size:12px;font-style:normal;font-weight:600}.focus-empty{padding:38px;text-align:center;color:#8290a3}.focus-empty b,.focus-empty span{display:block}.focus-empty span{margin-top:6px;font-size:11px}.focus-student-table>button{grid-template-columns:minmax(180px,1.2fr) 100px 120px 140px 70px}.focus-student-table>button>span:not(:first-child){color:#4e5e74;font-size:12px}.focus-timeline>button{display:grid;grid-template-columns:70px 10px minmax(220px,1fr) 70px;align-items:center;gap:10px;width:100%;padding:13px 20px;border-bottom:1px solid #edf1f5;background:#fff;text-align:left}.focus-timeline time{color:#1769d2;font-weight:700}.focus-timeline i{width:8px;height:8px;border-radius:50%;background:#1769d2}.focus-timeline span b,.focus-timeline span small{display:block}.focus-timeline span small{margin-top:4px;color:#78869a;font-size:11px}@media(max-width:800px){.focus-heading{align-items:flex-start}.focus-heading h2{font-size:22px}.focus-metrics{grid-template-columns:repeat(2,1fr)}.focus-metrics div:nth-child(3):before{display:none}.focus-list>button{grid-template-columns:10px 1fr 75px}.focus-list time{display:none}.focus-student-table>button{grid-template-columns:1fr 90px 65px}.focus-student-table>button>span:nth-child(3),.focus-student-table>button>span:nth-child(4){display:none}.focus-timeline>button{grid-template-columns:58px 8px 1fr 55px}}
/* 高端登录页 */
.login-page{grid-template-columns:minmax(620px,1.28fr) minmax(460px,.72fr);background:#fff}.login-page .brand-panel{isolation:isolate;padding:50px clamp(58px,7vw,118px);background-color:#071c36;background-image:linear-gradient(90deg,rgba(5,23,45,.86) 0%,rgba(5,28,55,.68) 47%,rgba(5,30,60,.18) 100%),var(--brand-login-image,url('assets/login-architecture-v1.png'));background-size:cover;background-position:center}.login-page .brand-panel:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(2,17,34,.08),transparent 42%,rgba(2,15,31,.36))}.login-page .brand-panel:after{display:block;right:0;bottom:0;width:52%;height:1px;border:0;border-radius:0;background:linear-gradient(90deg,transparent,#32cce6 55%,transparent);opacity:.75}.login-page .brand{position:relative;z-index:1}.login-page .brand-mark{width:50px;height:50px;border:1px solid #ffffff55;border-radius:12px;background:linear-gradient(145deg,#15c2ba,#087f83);box-shadow:0 12px 34px rgba(0,15,35,.35)}.login-page .brand b{font-size:23px}.login-page .brand small{margin-top:5px;color:#c9d9ec;opacity:.9}.login-page .hero{position:relative;z-index:1;max-width:650px}.login-page .eyebrow{display:none}.login-page .hero h1{margin:0 0 24px;font-size:clamp(46px,4.2vw,68px);line-height:1.14;letter-spacing:-2.5px;text-shadow:0 3px 24px rgba(0,15,35,.26)}.login-page .hero h1:after{content:"";display:block;width:62px;height:3px;margin-top:28px;border-radius:3px;background:linear-gradient(90deg,#20d1df,#3f9dff)}.login-page .hero p{max-width:610px;margin:0;color:#d5e3f3;font-size:17px;line-height:1.9;text-shadow:0 2px 12px rgba(0,15,35,.32)}.login-page .security-note{position:relative;z-index:1;color:#c1d2e7;font-size:12px;letter-spacing:1.3px}.login-panel{position:relative;padding:48px;background:radial-gradient(circle at 50% 42%,#fff 0,#fff 56%,#f7faff 100%)}.login-panel:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:linear-gradient(transparent,#d8e4f2 18%,#d8e4f2 82%,transparent)}.login-card{width:min(470px,100%);padding:44px 46px 38px;border:1px solid #dfe7f1;border-radius:18px;background:rgba(255,255,255,.93);box-shadow:0 28px 75px rgba(19,50,86,.11),0 3px 12px rgba(19,50,86,.04);backdrop-filter:blur(14px)}.login-card h2{margin:0 0 9px;color:#10233f;font-size:34px;line-height:1.2;letter-spacing:-1px}.login-card>p{margin:0 0 34px;color:#718096;font-size:14px}.login-card label{margin:20px 0 0;color:#21314a;font-size:13px;font-weight:700}.login-input{position:relative;display:block;margin-top:9px}.login-input svg{position:absolute;z-index:1;left:16px;top:50%;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#657792;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.login-card .login-input input{height:54px;margin:0;padding:0 16px 0 48px;border:1px solid #cfdbea;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfdff);color:#15243b;font-size:14px;box-shadow:inset 0 1px 2px rgba(16,35,63,.025);transition:border-color .18s,box-shadow .18s,transform .18s}.login-card .login-input input::placeholder{color:#9aa7b8}.login-card .login-input input:hover{border-color:#aebfd4}.login-card .login-input input:focus{border-color:#2777e6;box-shadow:0 0 0 4px rgba(39,119,230,.12),inset 0 1px 2px rgba(16,35,63,.025);transform:translateY(-1px)}.login-card .primary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:54px;margin-top:28px;padding:0;border:1px solid #1161d3;border-radius:10px;background:linear-gradient(135deg,#2478ef 0%,#1261d6 52%,#0e50b9 100%);color:#fff;font-size:15px;font-weight:800;letter-spacing:.4px;box-shadow:0 13px 26px rgba(22,101,216,.25),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .18s,box-shadow .18s,filter .18s}.login-card .primary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}.login-card .primary:hover{background:linear-gradient(135deg,#2d82f8,#1261d6 52%,#0e50b9);box-shadow:0 16px 30px rgba(22,101,216,.31),inset 0 1px 0 rgba(255,255,255,.3);transform:translateY(-2px)}.login-card .primary:hover svg{transform:translateX(3px)}.login-card .primary:active{transform:translateY(0);box-shadow:0 7px 16px rgba(22,101,216,.22)}.login-foot{margin-top:23px;color:#97a4b5;font-size:11px}.mobile-brand{margin-bottom:32px}@media(max-width:1050px){.login-page{grid-template-columns:minmax(500px,1fr) minmax(420px,.82fr)}.login-page .brand-panel{padding:44px 55px}.login-card{padding:38px 36px}.login-page .hero h1{font-size:48px}}@media(max-width:900px){.login-page{display:grid;grid-template-columns:1fr;background:linear-gradient(180deg,#edf4fb,#fff)}.login-page .brand-panel{display:none}.login-panel{min-height:100vh;padding:24px}.login-panel:before{display:none}.login-card{padding:34px 26px;border-radius:16px}.mobile-brand{display:flex}.login-card h2{font-size:29px}}

.login-page .brand-mark.custom-logo{background-color:#fff;background-size:82%;background-position:center;background-repeat:no-repeat}

/* 接待老师学员分析 */
.analytics-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.analytics-toolbar h3{margin:0;color:#10233f;font-size:21px}.analytics-toolbar p{margin:5px 0 0;color:#718096;font-size:12px}.analytics-toolbar>div:last-child{display:flex;gap:8px}.analytics-toolbar select{min-width:132px;margin:0;padding:9px 12px;border:1px solid #ccd7e4;border-radius:7px;background:#fff}.conversion-flow{display:grid;grid-template-columns:1fr 84px 1fr 84px 1fr 84px 1fr 84px 1fr;align-items:stretch;margin-bottom:12px;padding:18px;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.conversion-stage{padding:16px 12px;border-radius:8px;background:#f5f8fc;text-align:center}.conversion-stage span,.conversion-stage small{display:block}.conversion-stage span{color:#526177;font-size:12px;font-weight:700}.conversion-stage strong{display:block;margin:8px 0 5px;color:#1769d2;font-size:29px}.conversion-stage small{color:#8a96a7;font-size:10px}.conversion-flow>i{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1769d2;font-style:normal}.conversion-flow>i:after{content:"→";font-size:20px;line-height:1}.conversion-flow>i b{font-size:14px}.conversion-flow>i small{margin:3px 0;color:#8793a5;font-size:9px}.analysis-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:12px;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.analysis-summary>div{position:relative;padding:16px 20px}.analysis-summary>div+div:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:#e6ebf1}.analysis-summary span{display:block;color:#6b788b;font-size:11px}.analysis-summary strong{display:block;margin-top:7px;color:#172a45;font-size:21px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analysis-card{margin-bottom:12px;padding:18px;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.analysis-card>header{margin-bottom:13px}.analysis-card>header h3{margin:0;color:#172a45;font-size:16px}.analysis-card>header p{margin:4px 0 0;color:#8491a3;font-size:11px}.analysis-card table{margin:0}.payment-analysis-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-analysis-list>div{padding:14px;border:1px solid #e0e7ef;border-radius:8px;background:#f8fafc}.payment-analysis-list span b,.payment-analysis-list span small{display:block}.payment-analysis-list span small{margin-top:4px;color:#7e8b9d;font-size:10px}.payment-analysis-list strong{display:block;margin:12px 0 8px;font-size:20px}.payment-analysis-list i{display:block;height:5px;border-radius:4px;background:#e4eaf1;overflow:hidden}.payment-analysis-list i em{display:block;height:100%;border-radius:4px;background:#1769d2}.payment-analysis-list>div>small{display:block;margin-top:6px;color:#66758a;font-size:10px}@media(max-width:1100px){.conversion-flow{grid-template-columns:1fr 55px 1fr 55px 1fr 55px 1fr 55px 1fr}.analysis-grid{grid-template-columns:1fr}}@media(max-width:760px){.analytics-toolbar{align-items:stretch;flex-direction:column}.analytics-toolbar>div:last-child{width:100%}.analytics-toolbar select{flex:1}.conversion-flow{grid-template-columns:1fr;padding:12px}.conversion-flow>i{padding:6px}.conversion-flow>i:after{content:"↓"}.analysis-summary{grid-template-columns:1fr 1fr}.analysis-summary>div:nth-child(3):before{display:none}.payment-analysis-list{grid-template-columns:1fr}}

/* 三端可配置顶部背景 */
html[data-role="admin"] .workspace>header{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.86) 48%,rgba(244,248,253,.48) 100%),var(--brand-admin-image,none);background-size:cover;background-position:center;color:#10233f}
html[data-role="partner"] .focus-heading,html[data-role="staff"] .focus-heading{position:relative;min-height:112px;margin-bottom:14px;padding:24px 26px;border:1px solid #d7e2ee;border-radius:11px;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 6px 20px rgba(18,48,82,.08)}
html[data-role="partner"] .focus-heading{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 43%,rgba(255,255,255,.38) 100%),var(--brand-partner-image,none)}
html[data-role="staff"] .focus-heading{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 43%,rgba(255,255,255,.38) 100%),var(--brand-staff-image,none)}
html[data-role="partner"] .focus-heading>*,html[data-role="staff"] .focus-heading>*{position:relative;z-index:1}
@media(max-width:800px){html[data-role="partner"] .focus-heading,html[data-role="staff"] .focus-heading{min-height:96px;padding:19px 18px;background-position:center}}

/* 极简学员与动态列表 */
.simple-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.simple-list-head h3{margin:0;color:#10233f;font-size:21px}.simple-list-head p{margin:5px 0 0;color:#7b899c;font-size:12px}.simple-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid #dde5ee;border-radius:9px;background:#fff}.simple-tabs{display:flex;gap:4px}.simple-tabs button{padding:8px 12px;border-radius:6px;background:transparent;color:#627188;font-size:12px}.simple-tabs button.active{background:#eaf3ff;color:#1769d2;font-weight:700}.simple-controls input{width:250px;margin:0;padding:9px 12px}.simple-student-list,.simple-update-list{overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(27,55,91,.05)}.simple-student-list>button{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(130px,.8fr) minmax(170px,1fr) 90px;align-items:center;gap:16px;width:100%;padding:15px 18px;border-bottom:1px solid #edf1f5;background:#fff;text-align:left}.simple-student-list>button:hover,.simple-update-list>button:hover{background:#f7faff}.simple-student-list span b,.simple-student-list span small{display:block}.simple-student-list span b{color:#26374e;font-size:13px}.simple-student-list span small{margin-top:4px;color:#8290a3;font-size:11px}.simple-student-list em,.simple-update-list em{justify-self:end;color:#1769d2;font-size:12px;font-style:normal}.simple-update-list>button{display:grid;grid-template-columns:10px minmax(260px,1fr) 110px 100px;align-items:center;gap:13px;width:100%;padding:15px 18px;border-bottom:1px solid #edf1f5;background:#fff;text-align:left}.simple-update-list i{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.simple-update-list i.unread{background:#1769d2;box-shadow:0 0 0 4px #1769d218}.simple-update-list span b,.simple-update-list span small{display:block}.simple-update-list span small{margin-top:5px;color:#738196;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-update-list time{color:#8794a6;font-size:11px}@media(max-width:800px){.simple-controls{align-items:stretch;flex-direction:column}.simple-tabs{overflow-x:auto;width:100%}.simple-controls input{width:100%}.simple-student-list>button{grid-template-columns:1fr 100px 75px}.simple-student-list>button span:nth-child(3){display:none}.simple-update-list>button{grid-template-columns:8px 1fr 75px}.simple-update-list time{display:none}}

/* Partner operations workspace */
.ops-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;margin-bottom:18px;color:#fff;background:linear-gradient(118deg,#092b55,#1766c4);border-radius:14px;box-shadow:0 14px 32px rgba(20,76,145,.18)}
.ops-hero h2{margin:0 0 8px;font-size:25px}.ops-hero p{margin:0;color:#dceaff}.ops-hero>div:last-child{display:flex;gap:10px}.ops-hero .secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff}
.ops-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #dfe7f2;border-radius:12px;margin-bottom:18px}.ops-metrics>div{padding:22px 24px;border-right:1px solid #e5ebf3}.ops-metrics>div:last-child{border:0}.ops-metrics span,.ops-metrics small{display:block;color:#71809a}.ops-metrics strong{display:block;margin:8px 0 5px;font-size:28px;color:#0b2344}.ops-metrics .danger strong{color:#d43c4c}
.ops-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}.ops-panel{background:#fff;border:1px solid #dfe7f2;border-radius:12px;padding:22px;box-shadow:0 4px 14px rgba(26,60,100,.04)}.ops-panel>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.ops-panel h3{margin:0 0 5px}.ops-panel header p{margin:0;color:#78869c;font-size:13px}
.ops-task-list article,.ops-partner-list article{display:flex;align-items:center;gap:13px;padding:15px 2px;border-top:1px solid #edf1f6}.ops-task-list article>span,.ops-partner-list article>span{display:flex;flex:1;min-width:0;flex-direction:column}.ops-task-list small,.ops-partner-list small,.block-muted{display:block;margin-top:4px;color:#7b889c;font-size:12px}.ops-task-list time{color:#697790;font-size:12px}.ops-task-list button{padding:7px 13px;border:1px solid #cbd9eb;border-radius:7px;background:#fff;color:#1766c4}.ops-partner-list em{font-style:normal;color:#344661;font-size:13px}.ops-dot{width:9px;height:9px;border-radius:50%;background:#8ca0b9}.ops-dot.high{background:#e99a27}.ops-dot.urgent{background:#d43c4c}
.ops-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ops-records article{padding:18px;background:#fff;border:1px solid #dfe7f2;border-left:4px solid #ef9d2e;border-radius:9px}.ops-records article.completed{border-left-color:#1ba47a}.ops-records article.cancelled{opacity:.68;border-left-color:#8c98aa}.ops-records header,.ops-records footer{display:flex;align-items:center;justify-content:space-between}.ops-records h3{margin:14px 0 7px;font-size:16px}.ops-records p{min-height:36px;margin:0 0 16px;color:#6f7d92;font-size:13px;line-height:1.6}.ops-records time{font-size:12px;color:#77869c}.ops-records footer button{border:0;background:transparent;color:#1766c4;font-weight:600}
.report-tabs{margin-bottom:14px}.ops-summary{padding:24px 28px;margin-bottom:18px;border-radius:12px;background:#0c2c54;color:#fff}.ops-summary h3{margin:0 0 10px}.ops-summary p{color:#d8e6f8;line-height:1.7}.ops-summary>div{display:flex;gap:36px;margin-top:20px}.ops-summary span{color:#bcd0e8}.ops-summary b{color:#fff;font-size:20px;margin-left:5px}.ops-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.ops-monitor-grid article{padding:20px;background:#fff;border:1px solid #dfe7f2;border-radius:11px}.ops-monitor-grid header{display:flex;justify-content:space-between}.ops-monitor-grid header div{display:flex;flex-direction:column}.ops-monitor-grid small{color:#7b889b;margin-top:5px}.ops-monitor-grid article>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.ops-monitor-grid article>div span{padding:10px;background:#f4f7fb;border-radius:7px;color:#637189}.ops-timeline article{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid #edf1f6}.ops-timeline article>i{width:9px;height:9px;background:#2372d8;border-radius:50%}.ops-timeline article>span{display:flex;flex:1;flex-direction:column}.ops-timeline small{margin-top:4px;color:#748198}.ops-timeline time{font-size:12px;color:#8290a3}.form-hint{padding:12px 14px;background:#eef5ff;color:#315b8e;border-radius:8px}.field.full{grid-column:1/-1}
@media(max-width:1050px){.ops-layout{grid-template-columns:1fr}.ops-records,.ops-monitor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.ops-hero{align-items:flex-start;flex-direction:column;padding:22px}.ops-hero>div:last-child{width:100%;flex-wrap:wrap}.ops-metrics{grid-template-columns:1fr 1fr}.ops-metrics>div:nth-child(2){border-right:0}.ops-records,.ops-monitor-grid{grid-template-columns:1fr}.ops-summary>div{gap:14px;flex-wrap:wrap}}

.aside-foot{position:relative;padding:12px 0 0}.account-trigger{width:100%;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;background:transparent;color:#fff;text-align:left}.account-trigger:hover,.account-trigger.open{background:#ffffff0b}.account-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e8f3ff;color:#145fad;font-weight:750;border:2px solid #ffffff}.account-trigger #identity{min-width:0}.account-trigger #identity b,.account-trigger #identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger #identity b{font-size:14px}.account-trigger #identity small{margin-top:4px;font-size:12px;color:#91a7c3}.account-trigger>i{font-style:normal;color:#8fa4bf;transition:transform .18s}.account-trigger.open>i{transform:rotate(180deg)}
.account-menu{position:absolute;left:0;right:0;bottom:66px;padding:7px;background:#fff;border:1px solid #dce5f0;border-radius:9px;box-shadow:0 14px 35px rgba(5,20,44,.28);z-index:30}.account-menu:after{content:"";position:absolute;left:28px;bottom:-6px;width:10px;height:10px;background:#fff;border-right:1px solid #dce5f0;border-bottom:1px solid #dce5f0;transform:rotate(45deg)}.account-menu button{display:flex;width:100%;align-items:center;gap:10px;padding:10px 11px;border-radius:6px;background:transparent;color:#27384f;text-align:left;font-size:13px}.account-menu button:hover{background:#f1f6fc}.account-menu button span{width:18px;color:#59708f}.account-menu .logout-btn{color:#c53c4c;border-top:1px solid #edf1f6;border-radius:0;margin-top:4px;padding-top:11px}
.help-settings-card{max-width:760px;padding:30px;background:#fff;border:1px solid #dfe7f2;border-radius:12px;box-shadow:0 8px 24px rgba(20,52,90,.06)}.help-settings-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;border-radius:12px;background:#e9f3ff;color:#1769d2;font-size:24px;font-weight:800}.help-settings-card h3{margin:0 0 9px;font-size:21px}.help-settings-card>div>p{max-width:620px;margin:0 0 24px;color:#6c7b91;line-height:1.8}.help-settings-card .field small{display:block;margin-top:8px;color:#8491a4}.help-link-preview{margin-top:14px;padding:13px 15px;background:#f4f7fb;border-radius:8px}.help-link-preview span{display:block;margin-bottom:5px;color:#79879a;font-size:12px}.help-link-preview a{display:block;color:#1769d2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.student-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;background:#fff;border:1px solid #dfe7f2;border-radius:11px;overflow:hidden}.student-kpis>div{min-height:112px;padding:18px 20px;border-right:1px solid #e7edf4;border-bottom:1px solid #e7edf4}.student-kpis>div:nth-child(4n){border-right:0}.student-kpis>div:nth-child(n+5){border-bottom:0}.student-kpis span,.student-kpis small{display:block;color:#77859a}.student-kpis strong{display:block;margin:8px 0 5px;color:#102846;font-size:26px}.student-kpis .risk strong{color:#cf3f50}.student-analysis-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px}.trend-card,.warning-card{margin:0}.trend-card>header,.warning-card>header{display:flex;justify-content:space-between;align-items:flex-start}.trend-card header p,.warning-card header p{margin:5px 0 0;color:#7c899c;font-size:12px}.trend-legend{display:flex;gap:13px;flex-wrap:wrap}.trend-legend span{display:flex;align-items:center;gap:5px;color:#6f7d91;font-size:11px}.trend-legend i{width:8px;height:8px;border-radius:50%}.trend-chart{position:relative;margin-top:12px}.trend-chart svg{display:block;width:100%;min-height:250px}.chart-grid line{stroke:#e9eef4;stroke-width:1}.chart-area{fill:#2776dc0d}.chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-labels{position:absolute;left:4.1%;right:4.1%;bottom:0;height:18px}.chart-labels span{position:absolute;transform:translateX(-50%);color:#8a96a7;font-size:10px;white-space:nowrap}.warning-list{max-height:330px;overflow:auto}.warning-list button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 2px;border-top:1px solid #edf1f6;background:#fff;text-align:left}.warning-list button>i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#df4a5c}.warning-list button>span{display:flex;flex:1;min-width:0;flex-direction:column}.warning-list button small{margin-top:4px;color:#8290a3;font-size:11px}.warning-list button em{color:#c64252;font-size:11px;font-style:normal}.analytics-toolbar .simple-tabs{padding:4px;background:#eef3f9;border-radius:8px}
@media(max-width:1050px){.student-analysis-grid{grid-template-columns:1fr}.student-kpis{grid-template-columns:repeat(2,1fr)}.student-kpis>div:nth-child(2n){border-right:0}.student-kpis>div:nth-child(n+5){border-bottom:1px solid #e7edf4}.student-kpis>div:nth-last-child(-n+2){border-bottom:0}}
.teacher-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;border:1px solid #dfe7f2;border-radius:10px;background:#fff}.teacher-summary>div{padding:18px 20px;border-right:1px solid #e8edf4}.teacher-summary>div:last-child{border:0}.teacher-summary span{display:block;color:#748197;font-size:13px}.teacher-summary strong{display:block;margin-top:8px;color:#102844;font-size:25px}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.class-grid>article{padding:20px;border:1px solid #dce5ef;border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(27,55,91,.05)}.class-grid article header,.class-grid article>div,.class-grid article footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.class-grid article header small{color:#7b899c}.class-grid article h3{margin:20px 0 7px}.class-grid article p{margin:0 0 20px;color:#6e7d92}.class-grid article>div{padding:13px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;color:#718096;font-size:12px}.class-grid article>div span{display:flex;flex-direction:column;gap:5px}.class-grid article>div b{color:#263a55}.class-grid article footer{padding-top:14px}.class-grid article select{width:130px;margin:0;padding:8px 10px}@media(max-width:1000px){.class-grid{grid-template-columns:1fr 1fr}.teacher-summary{grid-template-columns:1fr 1fr}}@media(max-width:650px){.class-grid{grid-template-columns:1fr}}
.teaching-flow{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 20px;border:1px solid #d9e5f1;border-radius:10px;background:linear-gradient(90deg,#fff,#f4f8fd)}.teaching-flow>span{display:grid;grid-template-columns:32px 1fr;align-items:center;column-gap:9px;flex:1;font-weight:700}.teaching-flow b{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#246fce;color:#fff}.teaching-flow small{color:var(--muted);font-weight:400}.teaching-flow>i{color:#8ca2bb}.class-grid>article{cursor:pointer;transition:.18s}.class-grid>article:hover{transform:translateY(-2px);border-color:#9dbde1}.class-grid article>.class-teacher-list{display:grid;grid-template-columns:1fr 1fr}.roster-toolbar{display:flex;gap:9px;align-items:center;margin-bottom:12px}.roster-toolbar select{flex:1}.roster-toolbar p{color:var(--muted)}.roster-list{display:grid;gap:10px;max-height:62vh;overflow:auto}.roster-list article{display:grid;grid-template-columns:1.25fr repeat(3,minmax(105px,.7fr));gap:9px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.roster-list article>div b,.roster-list article>div small{display:block}.roster-list article small{margin-top:5px;color:var(--muted)}.roster-list label{font-size:11px}.roster-list select{display:block;width:100%;margin-top:5px}.roster-list textarea{grid-column:1/-2;min-height:58px}.teacher-hero{padding:28px 32px;border-radius:12px;background:linear-gradient(115deg,#092c55,#11647c);color:#fff}.teacher-hero small{color:#71e1d3;letter-spacing:2px}.teacher-hero h2{margin:9px 0 6px}.teacher-hero p{color:#d6e5ef}.teacher-hero button{margin-top:13px;padding:10px 14px;border-radius:7px;background:#61dfd1;color:#083646;font-weight:800}.duty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.duty-grid span{padding:14px;border-radius:8px;background:#f3f7fb}.duty-grid b,.duty-grid small{display:block}.duty-grid small{margin-top:5px;color:var(--muted);line-height:1.6}@media(max-width:850px){.teaching-flow{align-items:stretch;flex-direction:column}.teaching-flow>i{display:none}.roster-list article{grid-template-columns:1fr 1fr}.roster-list article>div,.roster-list textarea{grid-column:1/-1}.duty-grid{grid-template-columns:1fr 1fr}}
.form-tip{padding:11px 13px;border-radius:7px;background:#eef7ff;color:#35658e;font-size:12px}.roster-status-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.roster-status-summary span{display:flex;justify-content:space-between;padding:10px 12px;border-radius:7px;background:#f1f5f9;color:#66758a;font-size:12px}.roster-status-summary b{color:#173451;font-size:15px}.roster-list article>div em{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;font-style:normal}.roster-list article>div em i{padding:3px 6px;border-radius:4px;background:#e8f1fb;color:#2f679e;font-size:10px;font-style:normal}.roster-list .roster-tags{grid-column:1/3}.roster-list.readonly article{grid-template-columns:1.4fr .45fr .65fr .6fr;align-items:center}.roster-list.readonly article>p{grid-column:1/-1;margin:0;padding-top:9px;border-top:1px solid #e5ebf2;color:#607087}.roster-badge{justify-self:start;padding:5px 8px;border-radius:5px;background:#e7f5ef;color:#16805f;font-size:11px}.roster-badge.status-leave{background:#fff3dd;color:#a76a0e}.roster-badge.status-dropout{background:#fdebed;color:#b53a49}.roster-badge.status-graduated{background:#e9efff;color:#385fba}@media(max-width:850px){.roster-list.readonly article{grid-template-columns:1fr 1fr}.roster-status-summary{grid-template-columns:1fr 1fr}}

/* Mobile application layout */
.menu-backdrop{display:none}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}body{font-size:14px;-webkit-text-size-adjust:100%}
  .shell{min-height:100dvh}.workspace{min-width:0;width:100%}.workspace header{height:60px;padding:0 12px;gap:10px}.workspace header h2{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.workspace header p{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.menu{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;margin:0;border-radius:9px;background:#edf4fc;color:#174b80;font-size:20px}.content{width:100%;padding:12px 10px calc(22px + env(safe-area-inset-bottom))}
  aside{width:min(84vw,310px);padding:18px 12px calc(12px + env(safe-area-inset-bottom));z-index:42;box-shadow:18px 0 45px rgba(4,18,38,.28);overflow-y:auto;overscroll-behavior:contain}.side-brand{position:sticky;top:-18px;z-index:2;margin:-18px -12px 0;padding:18px 20px 17px;background:#10233f}.side-brand .brand-mark{width:36px;height:36px}.side-brand b{font-size:16px}nav{margin-top:12px;padding-bottom:12px}.nav-btn{min-height:46px;padding:11px 13px;font-size:14px}.nav-child{padding-left:30px!important}.aside-foot{position:sticky;bottom:0;margin-top:auto;padding:10px 6px 2px;background:#10233f}.menu-backdrop{display:block;position:fixed;inset:0;z-index:40;visibility:hidden;opacity:0;background:rgba(4,17,34,.48);backdrop-filter:blur(2px);transition:.2s}.shell.menu-open .menu-backdrop{visibility:visible;opacity:1}
  .simple-list-head,.toolbar,.analytics-toolbar,.card-head{align-items:stretch;flex-direction:column;gap:10px}.simple-list-head h3,.toolbar h3{font-size:18px}.simple-list-head .primary,.toolbar>.primary{width:100%;min-height:44px}.actions{width:100%;overflow-x:auto;padding-bottom:2px}.actions>*{flex:0 0 auto}.card{padding:15px;margin-bottom:10px;border-radius:9px}.metric-grid,.student-kpis,.teacher-summary{grid-template-columns:1fr 1fr;gap:8px}.metric{min-height:96px;padding:14px}.metric strong,.student-kpis strong,.teacher-summary strong{font-size:22px}.student-kpis{border:0;background:transparent}.student-kpis>div{min-height:100px;padding:14px;border:1px solid #e1e8f0!important;border-radius:8px;background:#fff}.teacher-summary{border:0;background:transparent}.teacher-summary>div{padding:14px;border:1px solid #e1e8f0!important;border-radius:8px}
  .table-wrap{width:100%;overflow-x:auto;border-radius:8px;-webkit-overflow-scrolling:touch;box-shadow:inset -16px 0 16px -20px rgba(16,35,63,.35)}.table-wrap table{min-width:680px}.table-wrap th,.table-wrap td{padding:11px 10px;font-size:12px}.table-wrap:after{content:'左右滑动查看更多';position:sticky;left:10px;display:inline-block;margin:8px 10px;color:#8b97a8;font-size:10px}
  .form-grid{grid-template-columns:1fr;gap:0}.field.full,.span-2{grid-column:1}.field{margin:12px 0}.field input,.field select,.field textarea,.form-grid input,.form-grid select,.form-grid textarea{min-height:46px;margin-top:6px;font-size:16px}.checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.form-actions{position:sticky;bottom:0;z-index:2;margin:16px -16px -18px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4eaf2}.form-actions .primary{width:100%;min-height:46px}
  dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:16px 16px 0 0}.modal-head{position:sticky;top:0;z-index:4;padding:14px 16px;background:#fff}.modal-head h3{font-size:17px}.icon-btn{width:40px;height:40px}#modalBody{max-height:calc(92dvh - 62px);overflow-y:auto;padding:2px 16px 18px;overscroll-behavior:contain}
  #toast{top:10px;left:10px;right:10px}.toast{width:100%;margin-bottom:6px;text-align:center}
  .partner-welcome,.staff-welcome,.teacher-hero,.ops-hero{min-height:auto;padding:20px 18px;border-radius:10px}.partner-welcome h2,.staff-welcome h2,.teacher-hero h2,.ops-hero h2{font-size:22px}.partner-welcome p,.staff-welcome p,.teacher-hero p,.ops-hero p{font-size:12px;line-height:1.65}.partner-create,.staff-welcome button,.teacher-hero button{width:100%;margin-top:16px}.staff-welcome em{display:block;margin:11px 0 0}.partner-kpis,.staff-kpis,.ops-metrics,.pro-kpis{grid-template-columns:1fr 1fr;gap:8px}.partner-kpis article,.staff-kpis article,.pro-kpi{padding:13px;gap:9px}.partner-main-grid,.staff-lower,.ops-layout,.student-analysis-grid{display:block}.partner-card,.staff-card,.ops-panel,.analysis-card{margin-bottom:10px;padding:15px}.focus-grid,.duty-grid{grid-template-columns:1fr}.pipeline-steps{grid-template-columns:repeat(5,100px)}
  .class-grid{grid-template-columns:1fr;gap:10px}.class-grid>article{padding:16px}.class-grid article h3{margin:14px 0 5px}.class-grid article>.class-teacher-list{grid-template-columns:1fr 1fr}.class-grid article footer{align-items:stretch;flex-direction:column}.class-grid article select,.class-grid article footer button{width:100%;min-height:42px}.teaching-flow{align-items:stretch;flex-direction:column;padding:13px}.teaching-flow>i{display:none}.teaching-flow>span{min-height:38px}
  .roster-toolbar{align-items:stretch;flex-direction:column}.roster-toolbar select,.roster-toolbar button{width:100%;min-height:44px}.roster-status-summary{grid-template-columns:1fr 1fr}.roster-list{max-height:none;overflow:visible}.roster-list article,.roster-list.readonly article{grid-template-columns:1fr;padding:13px}.roster-list article>div,.roster-list article>label,.roster-list article>textarea,.roster-list article>button,.roster-list.readonly article>p{grid-column:1}.roster-list .roster-tags{grid-column:1}.roster-list article select,.roster-list article input{min-height:43px;font-size:16px}.roster-list article textarea{min-height:88px;font-size:16px}.roster-list article>button{min-height:42px}.roster-list.readonly article>span{justify-self:start}
  .simple-student-list>button{grid-template-columns:1fr auto;padding:13px}.simple-student-list>button span:nth-child(2),.simple-student-list>button span:nth-child(3){display:none}.simple-update-list>button{grid-template-columns:8px 1fr;padding:13px}.simple-update-list time,.simple-update-list em{display:none}.warning-list button{align-items:flex-start}.warning-list button em{max-width:36%;text-align:right}
  .pro-toolbar{gap:10px}.pro-range{width:100%;overflow-x:auto;flex-wrap:nowrap}.pro-range>button{flex:0 0 auto}.trend-card>header,.warning-card>header,.ops-panel>header{align-items:flex-start;flex-direction:column}.trend-legend{margin-top:8px}.trend-chart svg{min-width:520px}.trend-chart{overflow-x:auto}.ops-records,.ops-monitor-grid{grid-template-columns:1fr}.ops-summary{padding:18px}.ops-summary>div{gap:12px;flex-wrap:wrap}
  #wechatPanel{inset:60px 0 0!important;width:100vw!important;height:calc(100dvh - 60px)!important;border:0!important;border-radius:0!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(120px,34%) 1fr!important}#wechatPanel .chat-panel-title{grid-column:1;min-height:58px;padding:16px 44px 12px!important}.chat-contacts{grid-column:1!important;grid-row:2!important;border-right:0!important;border-bottom:1px solid var(--line)!important}.chat-window{grid-column:1!important;grid-row:3!important;height:auto!important;min-height:0}.chat-form input{font-size:16px}.chat-form button{min-width:54px}
}
@media(max-width:420px){
  .content{padding-left:8px;padding-right:8px}.workspace header h2,.workspace header p{max-width:64vw}.metric-grid,.partner-kpis,.staff-kpis,.ops-metrics,.pro-kpis{grid-template-columns:1fr 1fr}.metric span,.partner-kpis span,.staff-kpis span,.pro-kpi span{font-size:11px}.metric strong,.partner-kpis strong,.staff-kpis strong,.pro-kpi strong{font-size:20px}.class-grid article>.class-teacher-list{grid-template-columns:1fr}.roster-status-summary{grid-template-columns:1fr 1fr}.login-page,.login-panel{width:100%;min-width:0;overflow:hidden}.login-panel{padding:18px 14px}.login-card{width:100%!important;min-width:0;max-width:100%;padding:28px 20px!important}.login-input,.login-card input,.login-card .primary{width:100%;min-width:0;max-width:100%}.login-card>p{margin-bottom:25px}.mobile-brand{margin-bottom:26px}.login-card input{font-size:16px;min-height:48px}.login-card .primary{min-height:48px}
}

/* Excel 批量导入 */
.excel-import{padding:18px 0 4px}.import-guide{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid #dce6f2;border-radius:9px;background:#f7faff}.import-guide b,.import-guide small{display:block}.import-guide small{margin-top:5px;color:#718096;font-size:12px}.import-guide a{text-decoration:none;white-space:nowrap}.import-drop{display:grid;place-items:center;min-height:150px;margin:15px 0;padding:22px;border:1.5px dashed #9fb8d4;border-radius:10px;background:#f8fbff;text-align:center;cursor:pointer}.import-drop:hover{border-color:#1769d2;background:#f1f7ff}.import-drop input{width:auto;margin:0 0 13px}.import-drop small{margin-top:7px;color:#78879a}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0;border:1px solid #dfe7f1;border-radius:9px;background:#fff}.import-summary span{padding:13px 15px;border-right:1px solid #e6ecf3;color:#526177;font-size:12px}.import-summary span:last-child{border-right:0}.import-summary b{display:block;margin-top:3px;color:#172a45;font-size:20px}.import-summary .good b{color:#11805f}.import-summary .bad b{color:#c83b49}.import-summary .warn b{color:#a86500}.import-table{max-height:360px}.import-table input{width:auto;margin:0}.import-table .row-error{background:#fff6f6}.import-table .row-warn{background:#fffaf0}.import-note{margin-top:10px;color:#718096;font-size:11px}.import-error{padding:20px;border-radius:8px;background:#fff1f2;color:#b82e42;text-align:center}
@media(max-width:760px){.import-guide{align-items:flex-start;flex-direction:column}.import-summary{grid-template-columns:1fr 1fr}.import-summary span:nth-child(2){border-right:0}.import-summary span:nth-child(-n+2){border-bottom:1px solid #e6ecf3}.import-table table{min-width:760px}}
.danger-btn{color:#bd2f43!important;border-color:#efc4cb!important;background:#fff7f8!important}.danger-btn:hover{color:#fff!important;background:#c83b49!important}.danger-action{background:#c83b49!important;border-color:#c83b49!important}.checkbox-line{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px;border:1px solid #efc4cb;border-radius:8px;background:#fff7f8;color:#9e2638}.checkbox-line input{width:auto;margin-top:2px}
.finance-income-breakdown{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:-6px}.finance-income-breakdown span{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid #dce6f2;border-radius:8px;background:#fff;color:#718096;font-size:12px}.finance-income-breakdown b{color:#17345c}@media(max-width:760px){.finance-income-breakdown{grid-template-columns:1fr 1fr}.finance-income-breakdown span:last-child{grid-column:1/-1}}
.auto-code-note{display:flex!important;flex-direction:column;justify-content:center;padding:12px 14px;border:1px solid #dce6f2;border-radius:8px;background:#f7faff}.auto-code-note>span{color:#526177;font-size:12px}.auto-code-note>b{margin-top:5px;color:#1769d2;font-size:13px}

/* 筛选、分配规则与数据跳转 */
.dashboard-links .metric{text-align:left;color:inherit;transition:.18s}.dashboard-links .metric:hover{transform:translateY(-2px);border-color:#b8cef0;box-shadow:0 16px 34px #173b7018}.student-filter-card{margin-bottom:18px}.student-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.student-filter-grid .field,.inline-filters .field{margin:0}.custom-date-fields{gap:8px;grid-column:span 2}.filter-actions{align-items:center;min-height:44px}.inline-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-filters .field{min-width:200px;flex:1}.inline-filters button{min-height:43px}.quota-input{width:110px;margin:0;padding:8px 10px}.rule-help{border-left:4px solid #2871e9}.rule-help b{font-size:15px}.rule-help p{margin:8px 0 0;color:#66758a;line-height:1.8}
@media(max-width:760px){.student-filter-grid{grid-template-columns:1fr}.custom-date-fields{grid-column:auto;flex-direction:column}.filter-actions,.filter-actions button{width:100%}.inline-filters{align-items:stretch;flex-direction:column}.inline-filters .field,.inline-filters button{width:100%}.dashboard-links .metric{text-align:left}}
.pro-kpi{color:inherit;text-align:left;transition:.18s}.pro-kpi:hover{transform:translateY(-2px);border-color:#b8cef0;box-shadow:0 14px 30px #183f7418}
.notification-preferences .card-head{align-items:flex-start}.preference-list{display:grid;gap:8px;margin-top:15px}.preference-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid #e2e8f1;border-radius:9px;background:#fbfcfe;cursor:pointer}.preference-item:hover{background:#f4f8ff;border-color:#c8d9f0}.preference-item b,.preference-item small{display:block}.preference-item small{margin-top:4px;color:#7c899d;font-size:12px}.preference-item input{width:20px;height:20px;margin:0;accent-color:#246be2}
.auth-loading{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:9px;background:#f7f9fc;color:#112746}.auth-loading-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:8px;border-radius:15px;background:linear-gradient(145deg,#10b5a8,#087d76);color:#fff;font-size:25px;font-weight:800;box-shadow:0 12px 26px #087d7633}.auth-loading b{font-size:17px}.auth-loading small{color:#8290a5}.auth-loading:after{content:"";width:120px;height:3px;margin-top:12px;border-radius:4px;background:linear-gradient(90deg,#1d6fe8 0 35%,#dce6f3 35%);background-size:280% 100%;animation:authLoading 1.1s ease-in-out infinite}@keyframes authLoading{0%{background-position:100% 0}100%{background-position:0 0}}

/* 业务好友聊天 */
.chat-search{width:calc(100% - 20px);margin:10px;padding:9px 10px;border-radius:7px}.chat-contact-list{overflow:auto}.chat-contact-list button.active{background:#e8f2ff!important;box-shadow:inset 3px 0 #2470dc}.chat-contact-list b{min-width:0}.chat-contact-list b em{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:99px;background:#e54255;color:#fff;font-size:10px;font-style:normal}.chat-chat-title{padding:3px 4px 10px;border-bottom:1px solid #dce4ef;color:#1d2d47;font-weight:700}.chat-welcome{display:grid;place-items:center;align-content:center;gap:7px;height:100%;min-height:130px;color:#8a98ab;text-align:center}.chat-welcome b{color:#4a5a70}.chat-form :disabled{cursor:not-allowed;opacity:.55}
#wechatPanel .chat-collapse{left:8px;top:13px;min-width:66px;height:32px;padding:0 10px;border-radius:7px!important;background:#1769d2!important;color:#fff!important;font-size:13px!important;font-weight:700;box-shadow:0 6px 15px #1769d24d}#wechatPanel .chat-collapse:hover{background:#0f55b7!important;transform:translateY(-1px)}#wechatPanel .chat-panel-title{padding-left:88px!important}#wechatPanel.collapsed{display:none!important}

/* Compact WeChat-style conversation stream */
#wechatPanel .chat-window{padding:0!important;background:#f5f5f5!important}
#wechatPanel .chat-chat-title{height:43px;padding:0 14px!important;display:flex;align-items:center;background:#f7f7f7;border-bottom:1px solid #ddd!important;font-size:14px}
#wechatPanel .chat-messages{padding:10px 12px 14px!important;scrollbar-width:thin;scrollbar-color:#c8c8c8 transparent}
#wechatPanel .chat-time{margin:7px 0 9px;text-align:center;color:#aaa;font-size:10px;line-height:18px}
#wechatPanel .chat-bubble{position:relative;display:flex!important;align-items:flex-start!important;width:fit-content!important;max-width:82%!important;min-height:30px;margin:5px 0 8px!important;padding:0 0 0 38px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#111!important}
#wechatPanel .chat-bubble:before{content:attr(data-avatar)!important;position:absolute;left:0;top:0;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:4px!important;background:#5b86b3!important;color:#fff!important;font-size:13px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important}
#wechatPanel .chat-bubble b{display:none!important}
#wechatPanel .chat-bubble span{position:relative;display:block;padding:6px 9px!important;border:1px solid #e2e2e2!important;border-radius:4px!important;background:#fff!important;color:#111!important;font-size:13px!important;line-height:1.45!important;overflow-wrap:anywhere;white-space:pre-wrap;box-shadow:none!important}
#wechatPanel .chat-bubble span:before{content:"";position:absolute;left:-5px;top:9px;width:8px;height:8px;background:#fff;border-left:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2;transform:rotate(45deg)}
#wechatPanel .chat-bubble.mine{align-self:flex-end!important;margin-left:auto!important;padding:0 38px 0 0!important;background:transparent!important}
#wechatPanel .chat-bubble.mine:before{left:auto!important;right:0!important;background:#d0a068!important;color:#fff!important;order:initial!important}
#wechatPanel .chat-bubble.mine span{background:#95ec69!important;border-color:#8cdd63!important;color:#111!important}
#wechatPanel .chat-bubble.mine span:before{left:auto;right:-5px;background:#95ec69;border:0;border-top:1px solid #8cdd63;border-right:1px solid #8cdd63}
#wechatPanel .chat-form{margin:0!important;padding:9px 10px!important;border-top:1px solid #ddd;background:#f7f7f7;align-items:center}
#wechatPanel .chat-form input{height:34px!important;padding:6px 9px!important;border:1px solid #d6d6d6!important;border-radius:4px!important;background:#fff;font-size:13px!important}
#wechatPanel .chat-form button{height:34px;padding:0 13px!important;border-radius:4px!important;font-size:13px!important}

/* 财务管理 */
.finance-page{--fin-blue:#2875e6;--fin-teal:#13a58f;--fin-amber:#eda72e;--fin-red:#e85a65;color:#1d2d47}.finance-toolbar,.finance-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.finance-toolbar{margin-bottom:16px}.finance-toolbar h3,.finance-panel h3{margin:0}.finance-toolbar p,.finance-panel header p{margin:5px 0 0;color:#7d8b9f;font-size:12px}.finance-filters{display:flex;align-items:center;gap:10px}.finance-filters select{width:auto;min-width:126px;margin:0;padding:9px 12px}.finance-date-row{display:flex;align-items:end;justify-content:flex-end;gap:10px;margin:-5px 0 15px;padding:12px;border:1px solid #dce5ef;border-radius:9px;background:#fff}.finance-date-row label{color:#66758b;font-size:12px}.finance-date-row input{min-width:150px;margin-top:5px;padding:8px 10px}.finance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.finance-kpis article{position:relative;overflow:hidden;padding:18px 20px;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(20,45,78,.06)}.finance-kpis article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fin-blue)}.finance-kpis .rebate:before{background:var(--fin-amber)}.finance-kpis .expense:before{background:var(--fin-red)}.finance-kpis .profit:before{background:var(--fin-teal)}.finance-kpis .negative:before{background:var(--fin-red)}.finance-kpis span{color:#6f7e92;font-size:12px}.finance-kpis strong{display:block;margin:9px 0 6px;font-size:25px}.finance-kpis small{color:#8793a4;font-size:11px}.finance-kpis .negative strong,.negative{color:#cf4050}.finance-overview,.finance-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:12px;margin-bottom:12px}.finance-detail-grid{grid-template-columns:1.2fr 1fr}.finance-panel{min-width:0;padding:18px;border:1px solid #dce5ef;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(20,45,78,.06)}.finance-panel table{margin-top:14px}.finance-legend{display:flex;gap:13px;color:#708097;font-size:11px}.finance-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px;background:currentColor}.finance-legend .blue,.finance-structure .blue{color:var(--fin-blue)}.finance-legend .amber,.finance-structure .amber{color:var(--fin-amber)}.finance-legend .red,.finance-structure .red{color:var(--fin-red)}.finance-legend .teal,.finance-structure .teal{color:var(--fin-teal)}.finance-bars{display:flex;height:245px;align-items:stretch;gap:9px;margin-top:18px;padding:13px 6px 0;border-top:1px solid #edf1f6}.finance-day{display:flex;min-width:36px;flex:1;flex-direction:column;align-items:center;justify-content:flex-end}.finance-day .bar-stack{display:flex;width:100%;height:165px;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid #dfe6ef}.bar-stack i{width:24%;min-height:2px;border-radius:3px 3px 0 0}.bar-income{background:var(--fin-blue)}.bar-rebate{background:var(--fin-amber)}.bar-expense{background:var(--fin-red)}.finance-day b{margin:7px 0 3px;color:var(--fin-teal);font-size:9px}.finance-day small{color:#8693a5;font-size:9px}.finance-structure{display:grid;grid-template-columns:160px 1fr;align-items:center}.finance-structure header{grid-column:1/-1}.finance-donut{display:grid;place-items:center;width:136px;aspect-ratio:1;margin:22px auto;border-radius:50%;background:conic-gradient(var(--fin-amber) 0 calc(var(--rebate)*1%),var(--fin-red) 0 calc((var(--rebate) + var(--expense))*1%),var(--fin-teal) 0);position:relative}.finance-donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff}.finance-donut div{z-index:1;text-align:center}.finance-donut strong,.finance-donut span{display:block}.finance-donut strong{font-size:23px}.finance-donut span{margin-top:3px;color:#8390a3;font-size:10px}.finance-structure ul{margin:15px 0 0;padding:0;list-style:none}.finance-structure li{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5;font-size:11px}.finance-structure li i{width:7px;height:7px;border-radius:50%;background:currentColor}.finance-structure li span{color:#718096}.finance-structure li b{font-size:12px}.pending-money{color:#c98000}.finance-rebate-records{margin-top:12px}.policy-note{padding:12px 14px;border-left:3px solid #2774e5;border-radius:5px;background:#f2f7ff;color:#5f7088;font-size:12px;line-height:1.7}.finance-settle-summary{display:flex;gap:10px;margin:18px 0 5px}.finance-settle-summary span{flex:1;padding:13px;border:1px solid #dfe7f0;border-radius:8px;background:#f7f9fc;color:#718096;font-size:12px}.finance-settle-summary b{display:block;margin-top:5px;color:#20324c;font-size:17px}
.finance-undated-warning{grid-column:1/-1;margin:-4px 0 12px;padding:10px 13px;border:1px solid #f0d59c;border-radius:8px;background:#fff8e8;color:#8a5a00;font-size:12px;line-height:1.6}
@media(max-width:1100px){.finance-overview,.finance-detail-grid{grid-template-columns:1fr}.finance-kpis{grid-template-columns:1fr 1fr}}@media(max-width:760px){.finance-toolbar,.finance-panel>header,.finance-filters,.finance-date-row{align-items:stretch;flex-direction:column}.finance-filters select{width:100%}.finance-kpis{grid-template-columns:1fr 1fr;gap:8px}.finance-kpis article{padding:14px}.finance-kpis strong{font-size:19px}.finance-bars{min-width:620px}.finance-trend{overflow:auto}.finance-structure{grid-template-columns:135px 1fr;padding:15px}.finance-donut{width:112px}.finance-detail-grid .finance-panel{padding:14px}.finance-settle-summary{flex-direction:column}}

/* Laptop/high-DPI safety: keep every navigation item reachable. */
.shell>aside{height:100vh;height:100dvh;overflow:hidden}
.shell>aside>#nav{display:block;flex:1 1 auto;min-height:0;margin-top:12px;padding:0 3px 8px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#49617f transparent}
.shell>aside>#nav::-webkit-scrollbar{width:5px}.shell>aside>#nav::-webkit-scrollbar-thumb{border-radius:5px;background:#49617f}
.shell>aside>#nav>.nav-btn,.shell>aside>#nav>.nav-group{margin-bottom:4px}
.shell>aside>.aside-foot{flex:0 0 auto;margin-top:0;background:#10233f}
@media(max-height:760px) and (min-width:901px){
  .shell>aside{padding:12px 10px}
  .shell>aside .side-brand{padding:0 8px 10px}
  .shell>aside .side-brand .brand-mark{width:32px;height:32px;font-size:16px}
  .shell>aside .side-brand b{font-size:15px}.shell>aside .side-brand small{font-size:8px;letter-spacing:.7px}
  .shell>aside>#nav{margin-top:8px}
  .shell>aside .nav-btn{min-height:35px;padding:7px 10px;font-size:13px}
  .shell>aside .nav-btn span{font-size:14px}.shell>aside .nav-child{min-height:32px;padding-top:6px;padding-bottom:6px}
  .shell>aside .nav-children{margin:1px 0 3px;padding-top:2px;padding-bottom:2px}
  .shell>aside .aside-foot{padding:9px 5px 0}.shell>aside .account-trigger{min-height:44px}
}

#chatNav{position:relative}
#chatNav .chat-nav-badge{display:none;min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:10px;background:#e5394f;color:#fff;font-size:10px;font-style:normal;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px #10233f}
#chatNav .chat-nav-badge.show{display:inline-block}
/* Keep the partner student list readable after adding the immutable entry time. */
.simple-student-list>button{grid-template-columns:minmax(200px,1.3fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(170px,1fr) 90px}
@media(max-width:800px){.simple-student-list>button{grid-template-columns:1fr 110px 100px 75px}.simple-student-list>button span:nth-child(3){display:block}.simple-student-list>button span:nth-child(4){display:none}}
@media(max-width:520px){.simple-student-list>button{grid-template-columns:1fr auto}.simple-student-list>button span:nth-child(2),.simple-student-list>button span:nth-child(3),.simple-student-list>button span:nth-child(4){display:none}}
dialog:has(.ops-partner-dossier){width:min(1040px,calc(100% - 32px));max-height:92vh;overflow:auto;background:#f5f7fb}
dialog:has(.ops-partner-dossier) #modalBody{padding:0}
.clickable-row{cursor:pointer}.clickable-row:hover{background:#f3f8ff!important}
.ops-partner-dossier{display:grid;gap:16px;padding-bottom:22px}
.ops-partner-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 30px;color:#fff;background:linear-gradient(125deg,#102e57,#195fae)}
.ops-partner-hero h2{margin:10px 0 6px;font-size:28px}.ops-partner-hero p{margin:0;color:#cfe0f6}.ops-partner-hero .tag{background:#ffffff1f;color:#fff;border:1px solid #ffffff25}
.ops-partner-metrics{display:grid;grid-template-columns:repeat(4,82px);gap:8px}.ops-partner-metrics span{padding:12px;text-align:center;border:1px solid #ffffff21;border-radius:9px;background:#ffffff12;color:#cfe0f6;font-size:12px}.ops-partner-metrics b{display:block;margin-top:5px;color:#fff;font-size:22px}
.ops-profile-section{margin:0 22px;padding:22px;background:#fff;border:1px solid #e0e7f0;border-radius:12px}.ops-profile-section>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.ops-profile-section>header h3{margin:0 0 5px}.ops-profile-section>header p{margin:0;color:#7a879a;font-size:12px}
.ops-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ops-profile-grid article{min-height:76px;padding:13px 14px;border-radius:8px;background:#f7f9fc;border:1px solid #edf1f6}.ops-profile-grid article.wide{grid-column:span 2}.ops-profile-grid span{display:block;margin-bottom:7px;color:#7f8ca0;font-size:12px}.ops-profile-grid b,.ops-profile-grid p{margin:0;color:#28364c;font-size:14px;line-height:1.7;white-space:pre-wrap}.ops-profile-grid .muted{color:#9aa5b4}
.ops-partner-history{position:relative}.ops-partner-history>article{display:grid;grid-template-columns:16px 1fr;gap:12px;padding-bottom:22px}.ops-partner-history>article>i{width:11px;height:11px;margin-top:7px;border-radius:50%;background:#2571dc;box-shadow:0 0 0 4px #e5efff}.ops-partner-history>article>div{padding:15px 17px;border:1px solid #e4eaf2;border-radius:9px;background:#fbfcfe}.ops-partner-history article header,.ops-partner-history article footer{display:flex;justify-content:space-between;gap:14px}.ops-partner-history article p{margin:10px 0;color:#536176;line-height:1.7;white-space:pre-wrap}.ops-partner-history article footer{padding-top:11px;border-top:1px solid #edf1f5;color:#8793a4;font-size:12px}
@media(max-width:760px){.ops-partner-hero{align-items:flex-start;flex-direction:column}.ops-partner-metrics{grid-template-columns:repeat(2,1fr);width:100%}.ops-profile-grid{grid-template-columns:1fr 1fr}.ops-profile-grid article.wide{grid-column:1/-1}.ops-profile-section{margin:0 12px;padding:16px}.ops-profile-section>header{align-items:flex-start;flex-direction:column}}
.ops-history-actions{display:flex;gap:7px}.ops-followup-detail{padding:12px 2px}.ops-followup-title{padding:20px;border-radius:10px;background:#f4f7fb}.ops-followup-title h3{margin:12px 0 0;font-size:20px}.ops-followup-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.ops-followup-detail dl>div{padding:14px;border:1px solid #e5eaf2;border-radius:9px;background:#fff}.ops-followup-detail dl>div:nth-child(-n+2){grid-column:1/-1}.ops-followup-detail dt{margin-bottom:8px;color:#7d899a;font-size:12px}.ops-followup-detail dd{margin:0;line-height:1.75;white-space:pre-wrap}.ops-followup-detail .form-actions button{width:auto}
@media(max-width:640px){.ops-followup-detail dl{grid-template-columns:1fr}.ops-followup-detail dl>div{grid-column:1/-1}}
.realtime-feedback-center{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.realtime-feedback-center>article{padding:18px;border:1px solid #dfe6ef;border-left:5px solid #2872dc;border-radius:10px;background:#fff;cursor:pointer}.realtime-feedback-center>article:hover{box-shadow:0 10px 26px #163a7117}.realtime-feedback-center>article.severity-attention{border-left-color:#e59a22}.realtime-feedback-center>article.severity-urgent{border-left-color:#d43f50}.realtime-feedback-center article header,.realtime-feedback-center article footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.realtime-feedback-center article header>div{display:flex;align-items:center;gap:10px}.realtime-feedback-center article header small{color:#8793a4}.realtime-feedback-center article header em{font-style:normal;font-weight:700;color:#526177}.realtime-feedback-center article p{min-height:48px;margin:16px 0 10px;line-height:1.75;white-space:pre-wrap}.realtime-feedback-center article>div{padding:10px;border-radius:7px;background:#f5f8fc;color:#526177;font-size:13px}.realtime-feedback-center article footer{margin-top:14px;color:#8995a6;font-size:12px}
@media(max-width:850px){.realtime-feedback-center{grid-template-columns:1fr}.realtime-feedback-center article header>div{align-items:flex-start;flex-direction:column;gap:5px}}
.login-panel{position:relative}.icp-footer{position:absolute;right:24px;bottom:18px;left:24px;display:flex;justify-content:center;gap:14px;color:#929daf;font-size:12px}.icp-footer a{color:#647a99;text-decoration:none}.icp-footer a:hover{color:#1766c4;text-decoration:underline}@media(max-width:560px){.icp-footer{align-items:center;flex-direction:column;gap:5px;bottom:12px}.login-card{margin-bottom:58px}}
