﻿:root{--navy:#102b46;--navy2:#173c60;--ink:#17212b;--muted:#6d7885;--line:#dce3ea;--bg:#f4f7f9;--white:#fff;--green:#16866d;--amber:#b96a08;--red:#c63f3f;--blue:#2468a9;--shadow:0 10px 32px rgba(16,43,70,.12)}
*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;letter-spacing:0}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr}aside{position:fixed;inset:0 auto 0 0;width:220px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:20px 14px}.side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 24px}.side-brand span,.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:#fff;color:var(--navy);font-weight:800}.side-brand strong{font-size:17px}nav{display:grid;gap:4px}nav button{border:0;background:transparent;color:#cbd8e4;text-align:left;padding:11px 14px;border-radius:6px}nav button:hover,nav button.active{background:var(--navy2);color:#fff}.side-foot{margin-top:auto;padding:14px 8px;border-top:1px solid rgba(255,255,255,.15)}.link{border:0;background:transparent;color:#b9cad8;padding:8px 0}main{grid-column:2;min-width:0}header{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}header h1{font-size:20px;margin:0 0 4px}header p{margin:0;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:36px;height:36px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px}.sync-badge{padding:6px 9px;border-radius:4px;background:#eef2f5;color:var(--muted);font-size:12px}#content{padding:22px 28px 40px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);padding:16px;border-radius:6px}.metric strong{font-size:28px;display:block;margin-top:8px}.metric span{color:var(--muted)}.metric.danger{border-left:4px solid var(--red)}.metric.warn{border-left:4px solid var(--amber)}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:18px}.panel-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:16px;margin:0}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.primary,.secondary,.danger-btn{border:0;padding:9px 14px;border-radius:5px}.primary{background:var(--navy);color:#fff}.secondary{background:#edf2f6;color:var(--navy)}.danger-btn{background:#fdecec;color:var(--red)}.toolbar input,.toolbar select{border:1px solid var(--line);background:#fff;padding:8px 10px;border-radius:5px;min-width:150px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f7f9fb;color:#596574;font-size:12px;position:sticky;top:0}tr:hover td{background:#fbfcfd}.tag{display:inline-block;padding:4px 8px;border-radius:12px;background:#edf2f6;color:#52606d;font-size:12px}.tag.green{background:#e5f5ef;color:var(--green)}.tag.red{background:#fde9e9;color:var(--red)}.tag.amber{background:#fff1dc;color:var(--amber)}.tag.blue{background:#e7f0fa;color:var(--blue)}.action{border:0;background:transparent;color:var(--blue);padding:4px}.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.stage{border:1px solid var(--line);background:#fff;padding:14px;border-radius:6px}.stage strong{font-size:22px;display:block;margin-top:8px}.stage span{color:var(--muted);font-size:12px}.empty{padding:30px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(10,25,40,.45);display:grid;place-items:center;padding:20px;z-index:20}.modal-card{background:#fff;width:min(760px,100%);max-height:90vh;overflow:auto;border-radius:7px;box-shadow:var(--shadow)}.modal-head{position:sticky;top:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);z-index:2}.modal-head h2{margin:0;font-size:18px}.form-grid{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;color:#4d5965}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cbd5df;border-radius:5px;padding:9px 10px;background:#fff}.form-grid textarea{min-height:82px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.login-shell{min-height:100vh;display:grid;place-items:center;background:#edf2f5}.login-panel{width:min(390px,calc(100% - 32px));background:#fff;border:1px solid var(--line);padding:32px;box-shadow:var(--shadow)}.brand-mark{background:var(--navy);color:#fff;margin-bottom:18px}.login-panel h1{font-size:22px;margin:0}.login-panel p{color:var(--muted);margin:8px 0 24px}.login-panel label{display:grid;gap:6px;margin:14px 0}.login-panel input{border:1px solid #cbd5df;padding:11px}.login-panel .primary{width:100%;margin-top:8px}.error{color:var(--red);min-height:20px;margin-top:10px}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:11px 16px;border-radius:5px;z-index:30}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.progress{height:7px;background:#e6ebef;border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green)}.note{padding:12px 14px;background:#f4f7f9;border-left:3px solid var(--blue);color:#53606d;margin:0 0 16px}.danger-text{color:var(--red)}
.watermark-layer{position:fixed;inset:-80px;z-index:9999;pointer-events:none;user-select:none;display:grid;grid-template-columns:repeat(4,360px);grid-auto-rows:150px;gap:36px;align-items:center;justify-content:center;overflow:hidden;opacity:.55}
.watermark-layer span{display:block;width:360px;text-align:center;transform:rotate(-24deg);font-size:15px;font-weight:700;letter-spacing:1px;color:rgba(16,43,70,.055);white-space:nowrap}
.revenue-password-gate{max-width:480px;margin:34px auto}.revenue-unlock-form{padding:18px;display:grid;gap:14px}.revenue-unlock-form label{display:grid;gap:7px;color:var(--muted)}.revenue-unlock-form input{width:100%;min-height:40px;padding:9px 11px;border:1px solid rgba(203,213,225,.96);border-radius:10px;background:rgba(255,255,255,.86);color:var(--ink)}.revenue-unlock-form .primary{justify-self:start}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.stage-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.app{display:block}.app aside{position:static;width:100%;height:auto;padding:12px}.side-brand{padding:0}.side-brand strong{font-size:15px}nav{display:flex;overflow:auto;margin-top:10px}nav button{white-space:nowrap}.side-foot{display:none}main{display:block}header{height:auto;padding:14px 16px;position:static}header p{display:none}#content{padding:14px}.cards{grid-template-columns:1fr 1fr;gap:8px}.stage-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.sync-badge{display:none}}
.side-brand{gap:0}.side-brand span,.brand-mark{display:none}
.drop-upload{border:1.5px dashed #9fb0bf;background:#f8fafc;border-radius:6px;padding:16px;text-align:center;color:#52606d;transition:.15s}.drop-upload:hover,.drop-upload.dragover{border-color:var(--blue);background:#eef6ff}.drop-upload.bad{border-color:var(--red);background:#fff5f5}.drop-title{font-weight:700;color:var(--ink);margin-bottom:5px}.drop-sub{font-size:12px;color:var(--muted);margin-bottom:8px}.upload-preview{font-size:13px;color:var(--blue)}.muted{color:var(--muted)}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 8px;border-radius:999px;background:#eef6ff;color:var(--blue);font-weight:700}.multi-line-cell{display:block;min-width:180px;max-width:340px;white-space:normal;line-height:1.5}.sync-badge.clickable{cursor:pointer}.sync-badge.bad{background:#fde9e9;color:var(--red)}.sync-badge.pending{background:#fff1dc;color:var(--amber)}.sync-badge.ok{background:#e5f5ef;color:var(--green)}.stage-click{width:100%;font:inherit;text-align:left;cursor:pointer}.stage-click:hover{border-color:var(--blue);background:#f4f9ff}.filter-bar{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;background:#eef6ff;border:1px solid #cfe0f2;border-radius:6px;color:var(--blue)}
.link-btn{border:0;background:transparent;color:var(--blue);padding:0;text-align:left;cursor:pointer}.link-btn:hover{text-decoration:underline}.rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f8fafc}.rate-grid label{display:grid!important;gap:6px}.rate-grid input{background:#fff}
.metric-click{cursor:pointer}.metric-click:hover{border-color:var(--blue);background:#f8fbff}.count-link{border:0;cursor:pointer}.count-link:hover{text-decoration:underline}
.password-cell{font-family:Consolas,monospace;font-weight:700;color:var(--ink)}
.inline-field{min-width:88px;max-width:160px;border:1px solid transparent;background:transparent;border-radius:5px;padding:6px 7px;color:var(--ink)}.inline-field:hover,.inline-field:focus{border-color:#cbd5df;background:#fff;outline:none}.inline-field[type=number]{max-width:110px}.inline-field[type=date],.inline-field[type=month]{max-width:145px}
.student-total-count{color:var(--muted);font-size:13px;font-weight:700}.student-stage-control{display:flex;align-items:center;gap:6px;min-width:184px}.student-stage-control .inline-field{min-width:0;max-width:128px}.student-workorder-link{border:0;background:#edf4fb;color:#1f5f91;border-radius:4px;padding:5px 7px;font-size:12px;line-height:1.2;white-space:nowrap}.student-workorder-link:hover{background:#dcecf9}
.review-followup-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.student-followup-review-list{display:grid;gap:14px}.student-followup-review-list .section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-followup-review{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px}.student-followup-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}.student-followup-review-head h3{margin:0;font-size:17px}.student-followup-review-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.student-followup-review-head>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.review-source{color:var(--muted);font-size:12px}.student-followup-feedback{margin:13px 0;border-left:3px solid var(--blue);padding:10px 12px;background:#f4f8fc}.student-followup-feedback h4{margin:0 0 7px;font-size:14px}.student-followup-feedback p{margin:0;white-space:pre-wrap;line-height:1.65;color:#34495e}.student-followup-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-followup-review-grid section{border:1px solid #e1e8ef;background:#fbfcfd;padding:12px;min-width:0}.student-followup-review-grid .student-followup-delivery{background:#f3f8fd;border-color:#cbddeb}.student-followup-review-grid .student-followup-advice{background:#faf8f1;border-color:#e9deb7}.student-followup-review-grid h4{margin:0 0 8px;font-size:14px}.student-followup-review-grid p{margin:0;white-space:pre-wrap;line-height:1.65;color:#435161}.student-followup-review-grid ul{margin:0;padding-left:18px;color:#435161;line-height:1.7}.student-followup-review-grid li+li{margin-top:4px}@media(max-width:760px){.review-followup-metrics{grid-template-columns:1fr}.student-followup-review-grid{grid-template-columns:1fr}.student-followup-review-head{flex-direction:column}.student-followup-review-head>div:last-child{justify-content:flex-start}}
.workflow-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:4px;background:#f4f7fa;border:1px solid var(--line);border-radius:8px;width:max-content;max-width:100%}.workflow-mode-tab{border:0;background:transparent;color:var(--muted);padding:8px 16px;border-radius:6px;cursor:pointer;font:inherit}.workflow-mode-tab:hover{color:var(--text);background:#fff}.workflow-mode-tab.active{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(18,45,75,.12);font-weight:600}
.deepseek-status{align-content:center}.deepseek-status strong{font-size:16px;color:var(--blue)}
.table-scroll-shell{overflow:hidden}.table-scroll-top{overflow-x:auto;overflow-y:hidden;height:16px;border-bottom:1px solid var(--line);background:#fbfcfd}.table-scroll-top>div{height:1px}.table-scroll-top::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{height:12px}.table-scroll-top::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:#b9c6d2;border-radius:8px}.table-scroll-top::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track{background:#eef2f5}
.filter-grid{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}.filter-grid label{display:grid;gap:5px;color:#596574;font-size:12px}.filter-grid select{min-width:140px;border:1px solid var(--line);background:#fff;padding:8px 10px;border-radius:5px;color:var(--ink)}.clamp-cell{display:-webkit-box;min-width:180px;max-width:360px;max-height:66px;white-space:normal;line-height:1.5;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.text-more{display:inline-block;margin-left:8px;white-space:nowrap}.text-full-view{padding:20px;white-space:pre-wrap;line-height:1.7;max-height:70vh;overflow:auto}.modal-only-actions{padding:0 20px 20px}
.search-group{display:flex;align-items:center;gap:8px;min-width:260px}.search-group input{min-width:220px}.search-group button{height:36px}
.col-actions,.col-delete{width:58px;min-width:58px;text-align:center}.col-name{width:120px;max-width:138px}.col-studentNo{width:82px;max-width:96px}.col-paidAmount,.col-contractAmount,.col-refundAmount,.col-amount,.col-fee,.col-orderAmount{width:92px;max-width:108px}.col-name .inline-field,.col-paidAmount .inline-field,.col-contractAmount .inline-field,.col-refundAmount .inline-field,.col-amount .inline-field,.col-fee .inline-field,.col-orderAmount .inline-field{max-width:100%;min-width:0}.col-servicePackage{width:92px;max-width:110px}.col-classYear{width:70px;max-width:82px}.col-servicePackage .inline-field,.col-classYear .inline-field{max-width:100%}.col-riskNote{width:92px;text-align:center}.col-stage{min-width:112px}.col-notes{width:132px;max-width:150px}.col-salesperson{width:98px;max-width:112px}.col-channel,.col-passed,.col-intentLevel,.col-ordered{width:86px;max-width:98px}.col-notes .inline-field,.col-salesperson .inline-field,.col-channel .inline-field,.col-passed .inline-field,.col-intentLevel .inline-field,.col-ordered .inline-field{max-width:100%;min-width:0}
.col-followups-notes{width:260px;min-width:260px;max-width:260px;white-space:normal;overflow:hidden}.col-followups-notes .clamp-cell{min-width:0;width:220px;max-width:220px}.col-followups-notes .plain-text-cell{display:block;width:220px;max-width:220px;white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.col-followups-notes .text-more{display:block;margin:4px 0 0}
.col-services-notes,.col-ledger-notes,.col-assignments-notes{width:180px;min-width:180px;max-width:180px;white-space:normal;overflow:hidden}.col-services-notes .plain-text-cell,.col-ledger-notes .plain-text-cell,.col-assignments-notes .plain-text-cell{display:block;width:150px;max-width:150px;white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.col-services-notes .clamp-cell,.col-ledger-notes .clamp-cell,.col-assignments-notes .clamp-cell{min-width:0;width:150px;max-width:150px}.col-services-notes .text-more,.col-ledger-notes .text-more,.col-assignments-notes .text-more{display:block;margin:4px 0 0}
.offer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.offer-toolbar input,.offer-toolbar select{height:38px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 11px;color:var(--ink)}.offer-toolbar input{min-width:260px;flex:1}.offer-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.offer-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.offer-card-head{padding:15px 16px 12px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.offer-student{display:flex;align-items:center;gap:10px;min-width:0}.offer-avatar{width:42px;height:42px;border-radius:8px;background:#e8f1fa;color:var(--blue);display:grid;place-items:center;font-weight:800}.offer-student h2{margin:0;font-size:17px}.offer-student small{display:block;color:var(--muted);margin-top:4px}.offer-company{padding:16px 16px 6px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.offer-company strong{font-size:24px;line-height:1.2}.offer-company span{color:var(--muted);font-size:13px;line-height:1.5;text-align:right}.offer-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px 16px}.offer-meta div{border:1px solid var(--line);border-radius:7px;padding:10px;background:#fafcfd;min-width:0}.offer-meta span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.offer-meta b{font-size:15px;word-break:break-word}.salary-text{color:var(--red)}.offer-foot{padding:12px 16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.offer-edit{width:100%;min-width:0;border:1px solid transparent;background:transparent;border-radius:5px;padding:4px 6px;color:inherit;font:inherit;font-weight:inherit}.offer-edit:hover,.offer-edit:focus{border-color:#cbd5df;background:#fff;outline:none}.offer-edit::placeholder{color:#9aa7b4}.offer-company strong .offer-edit{font-size:24px;font-weight:800;padding-left:0}.offer-company span .offer-edit{text-align:right;color:var(--muted);font-size:13px}.offer-student h2 .offer-edit{font-size:17px;font-weight:800;padding-left:0}.offer-student small .offer-edit{color:var(--muted);font-size:12px;padding:2px 4px;max-width:136px}.offer-meta b .offer-edit{font-weight:800}.salary-text .offer-edit{color:var(--red)}.offer-select{height:28px;background:#edf2f6;color:#52606d;border-radius:999px;font-size:12px;font-weight:700;padding:0 8px}.offer-meta .offer-select{height:30px;border-radius:5px;background:transparent;color:var(--ink);font-size:15px}
.teacher-quick{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin-bottom:16px;background:#eef6ff;border:1px solid #cfe0f2;border-radius:6px}.teacher-quick strong{display:block;font-size:16px;margin-bottom:4px}.teacher-quick span{color:var(--muted);font-size:13px}.teacher-quick-btn{font-size:16px;padding:11px 22px;white-space:nowrap}
.section-title{font-size:15px;font-weight:700;color:var(--ink);margin:2px 0 12px}
.remember-line{display:flex!important;grid-template-columns:none!important;grid-auto-flow:column;align-items:center;justify-content:flex-start;gap:8px;margin:8px 0 14px!important;color:var(--muted)}.remember-line input{width:auto!important}
.login-secondary{width:100%;margin-top:8px}
.field-tip{color:var(--muted);font-size:12px;line-height:1.4}
nav button{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nav-dot{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e54848;color:#fff;font-size:11px;line-height:1}
.notify-btn{position:relative;border:1px solid #cfe0f2;background:#eef6ff;color:var(--blue);height:36px;padding:0 12px;border-radius:6px}
.notify-count{position:absolute;top:-7px;right:-7px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e54848;color:#fff;font-size:11px;line-height:1}
.notice-box{padding:18px 20px 20px}
.notice-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px;padding-top:8px;color:var(--ink)}
.notice-head span{color:var(--muted);font-size:12px}
.notice-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.notice-row b{display:block;margin-bottom:4px}
.notice-row small{display:block;color:var(--muted);line-height:1.5}
.notice-actions{display:flex;align-items:center;gap:8px}
.small-empty{padding:16px!important;margin-bottom:8px}
.drop-upload{position:relative;overflow:hidden}
.drop-upload .upload-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}
.drop-upload .drop-title,.drop-upload .drop-sub,.drop-upload .drop-status{position:relative;z-index:0}
.drop-upload .drop-status a{position:relative;z-index:2;pointer-events:auto}
@media(max-width:720px){.side-foot{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.16)}.side-foot .link{color:#fff;background:rgba(255,255,255,.12);border-radius:5px;padding:7px 10px}.side-foot #userName{color:#d8e5ef;font-size:12px}}
@media(max-width:960px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.offer-grid{grid-template-columns:1fr}.offer-summary{grid-template-columns:1fr 1fr}.offer-toolbar input,.offer-toolbar select,.offer-toolbar button{width:100%;min-width:0}.offer-company{display:block}.offer-company span{display:block;text-align:left;margin-top:6px}.offer-meta{grid-template-columns:1fr}}

.policy-line{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center;gap:8px;color:var(--muted)}.policy-line input{width:auto!important}.policy-line span{line-height:1.5}.policy-content{padding:20px;line-height:1.75;color:#384655}.policy-content p{margin:0 0 12px}.policy-content strong{color:var(--ink)}

.side-brand{flex-direction:column;align-items:flex-start;gap:4px!important;padding-bottom:20px}.side-brand small{display:block;margin-top:4px;color:#ffffff;font-size:12px;font-weight:700;line-height:1.45;opacity:.92;max-width:170px}


.review-page{background:#edf2f5}.review-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.review-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:28px;border-radius:8px}.review-card h1{margin:0 0 8px;font-size:22px;color:var(--ink)}.review-card p{margin:0 0 22px;color:var(--muted);line-height:1.6}.review-card label{display:grid;gap:7px;margin:14px 0;color:#4d5965}.review-card input,.review-card select,.review-card textarea{width:100%;border:1px solid #cbd5df;border-radius:5px;padding:11px;background:#fff}.review-card textarea{min-height:110px;resize:vertical}.review-card .primary{width:100%;margin-top:8px}.review-msg{min-height:24px;margin-top:12px;color:var(--muted)}.review-msg.ok{color:var(--green)}.review-msg.bad{color:var(--red)}.review-search{position:relative}.review-suggest{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid #cbd5df;border-radius:6px;box-shadow:0 10px 24px rgba(31,47,70,.14);max-height:220px;overflow:auto}.review-suggest button,.review-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;color:#26313d;font-size:14px}.review-suggest button:hover{background:#eef4f8}.review-option.muted{color:var(--muted)}

.offer-name-btn{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;padding:0;cursor:pointer}.offer-name-btn:hover{color:var(--blue)}.offer-readonly{display:block;min-height:24px;line-height:1.45;word-break:break-word}.offer-name-readonly{font-weight:800;color:var(--ink)}.offer-pill-readonly{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;background:#edf2f6;color:#52606d;font-size:12px;font-weight:700;white-space:nowrap}.offer-foot-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.danger-link{color:var(--red)!important}
.offer-case-card{border-color:#d5e0ea;background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);box-shadow:0 10px 26px rgba(31,47,70,.10)}.offer-case-head{background:#fff;padding:16px;border-bottom:1px solid #dce5ee}.offer-case-head .offer-avatar{width:52px;height:52px;background:#e9f2ff;color:#1f6fb5;border-radius:8px;font-size:18px}.offer-case-head .offer-student h2{font-size:21px;margin-bottom:5px;line-height:1.2}.offer-date-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#52606d;font-size:13px;line-height:1.5}.offer-date-inline{width:132px;border:0;background:transparent;color:#52606d;padding:0;font-size:13px}.offer-date-inline:hover,.offer-date-inline:focus{background:#fff;border-bottom:1px solid #cbd5df;outline:none}.date-dot{color:#a6b3bf}.offer-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 11px;border-radius:999px;background:#e8f4ee;color:#16866d;font-size:12px;font-weight:700;white-space:nowrap}.offer-case-company{padding:16px 16px 8px}.offer-case-company strong{font-size:30px;color:#172231;letter-spacing:0}.offer-case-company strong .offer-edit{font-size:30px;color:#172231}.offer-case-company span{padding-top:7px;color:#52606d}.offer-case-meta{padding:8px 16px 12px;grid-template-columns:1fr 1fr}.offer-case-meta div{background:#fff;border-color:#d9e3ec;border-radius:6px;padding:11px 12px}.offer-case-meta span{color:#6a7784}.offer-case-meta b{font-size:15px}.offer-highlight{margin:2px 16px 14px;padding:13px 14px;border-left:3px solid var(--blue);border-radius:6px;background:#f1f6fb}.offer-highlight span{display:block;color:#7a8794;font-size:12px;margin-bottom:0}.offer-highlight p{margin:7px 0 0;color:#26313d;line-height:1.65}.offer-story-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.offer-story-title .link-btn{font-size:12px;font-weight:700}.offer-foot{background:#fff}.offer-foot-actions .link-btn{font-weight:700}

.date-gap-row td{background:#e7f0f8!important;border-top:14px solid #f4f7fa!important;border-bottom:1px solid #c9d7e3!important;color:#34495e;font-weight:800;padding:7px 12px!important}.date-gap-row span{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:#fff;color:#1d5f91}
.teacher-background-copy{display:flex;align-items:center;gap:5px;width:100%;min-width:0}.teacher-background-preview{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:24px}.cell-copy-btn{display:inline-flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:1px solid #d7e1ea;border-radius:7px;background:#f6f9fc;color:#5d7893;font-size:13px;line-height:1;cursor:pointer}.cell-copy-btn:hover{background:#eaf2f8;color:#1f5f91}
.select-options-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.select-options-grid textarea{min-height:58px}
@media(max-width:960px){.select-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.select-options-grid{grid-template-columns:1fr}}
.table-trafficLeads{table-layout:fixed!important;width:max-content!important;min-width:0!important}
.col-trafficLeads-time{width:96px!important;min-width:96px!important;max-width:108px!important}.col-trafficLeads-channel{width:108px!important;max-width:124px!important;min-width:92px!important}.col-trafficLeads-operator{width:98px!important;min-width:90px!important;max-width:112px!important}.col-trafficLeads-wechat{width:116px!important;max-width:132px!important;min-width:100px!important}.col-trafficLeads-notes{width:132px!important;max-width:150px!important;min-width:110px!important}.col-trafficLeads-salesperson{width:96px!important;min-width:90px!important;max-width:108px!important}.col-trafficLeads-passed,.col-trafficLeads-intentLevel,.col-trafficLeads-followedUp,.col-trafficLeads-ordered{width:88px!important;min-width:82px!important;max-width:96px!important}.col-trafficLeads-customerJudgment{width:220px!important;min-width:190px!important;max-width:260px!important}.col-trafficLeads-orderAmount{width:90px!important;min-width:84px!important;max-width:102px!important}
.col-trafficLeads-time .inline-field,.col-trafficLeads-channel .inline-field,.col-trafficLeads-operator .inline-field,.col-trafficLeads-wechat .inline-field,.col-trafficLeads-notes .inline-field,.col-trafficLeads-salesperson .inline-field,.col-trafficLeads-passed .inline-field,.col-trafficLeads-intentLevel .inline-field,.col-trafficLeads-followedUp .inline-field,.col-trafficLeads-ordered .inline-field,.col-trafficLeads-orderAmount .inline-field{max-width:100%;min-width:0}.col-trafficLeads-channel select.inline-field{background:#fff;border-color:#cbd5df}

/* 直播流量独立表：信息较多但保持紧凑，重要字段只用淡色提示。 */
.table-liveTrafficLeads{table-layout:fixed!important;width:max-content!important;min-width:0!important}
.col-liveTrafficLeads-time{width:104px!important;min-width:104px!important;max-width:116px!important}
.col-liveTrafficLeads-session{width:128px!important;min-width:112px!important;max-width:150px!important}
.col-liveTrafficLeads-channel{width:108px!important;min-width:96px!important;max-width:124px!important}
.col-liveTrafficLeads-wechat{width:122px!important;min-width:106px!important;max-width:138px!important}
.col-liveTrafficLeads-salesperson{width:96px!important;min-width:88px!important;max-width:108px!important}
.col-liveTrafficLeads-passed,.col-liveTrafficLeads-groupAdded,.col-liveTrafficLeads-intentLevel,.col-liveTrafficLeads-secondTransfer,.col-liveTrafficLeads-ordered{width:92px!important;min-width:84px!important;max-width:104px!important}
.col-liveTrafficLeads-orderNo{width:142px!important;min-width:120px!important;max-width:170px!important}
.col-liveTrafficLeads-paymentType{width:92px!important;min-width:84px!important;max-width:104px!important}
.col-liveTrafficLeads-orderAmount{width:104px!important;min-width:92px!important;max-width:118px!important}
.col-liveTrafficLeads-channel select.inline-field,.col-liveTrafficLeads-salesperson select.inline-field{background:#fff;border-color:#cbd5df}
.live-intent-link{min-width:34px;padding:4px 10px!important}
.live-payment-tag{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.live-payment-tag.full{background:#edf5ff;color:#3567a8}
.live-payment-tag.installment{background:#fff3df;color:#9a6815}
td.cell-live-payment-full{background:#f6faff!important;color:#3567a8}
td.cell-live-payment-installment{background:#fffaf0!important;color:#9a6815}
td.cell-live-payment-empty{background:#fafbfc!important;color:#73808c}
.traffic-tabs{display:flex;align-items:center;gap:4px;margin:0 0 16px;padding:4px;width:max-content;max-width:100%;border:1px solid #d8e2ec;border-radius:12px;background:#f2f6fa;box-shadow:inset 0 1px 2px rgba(39,61,84,.04)}
.traffic-tab{border:0;border-radius:9px;padding:9px 15px;background:transparent;color:#6b7a89;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.traffic-tab:hover{color:#315e8c;background:#e9f1f8}
.traffic-tab.active{color:#1f5f91;background:#fff;box-shadow:0 3px 10px rgba(39,61,84,.10)}
@media(max-width:720px){.traffic-tabs{width:100%;overflow-x:auto}.traffic-tab{flex:1;min-width:132px;padding-left:10px;padding-right:10px}}

@media(max-width:720px){
  .col-liveTrafficLeads-time{width:132px!important;min-width:132px!important;max-width:132px!important}
  .col-liveTrafficLeads-session{width:142px!important;min-width:142px!important;max-width:142px!important}
  .col-liveTrafficLeads-channel{width:122px!important;min-width:122px!important;max-width:122px!important}
  .col-liveTrafficLeads-wechat{width:150px!important;min-width:150px!important;max-width:150px!important}
  .col-liveTrafficLeads-salesperson{width:112px!important;min-width:112px!important;max-width:112px!important}
  .col-liveTrafficLeads-passed,.col-liveTrafficLeads-groupAdded,.col-liveTrafficLeads-intentLevel,.col-liveTrafficLeads-secondTransfer,.col-liveTrafficLeads-ordered{width:108px!important;min-width:108px!important;max-width:108px!important}
  .col-liveTrafficLeads-orderNo{width:170px!important;min-width:170px!important;max-width:170px!important}
  .col-liveTrafficLeads-paymentType{width:112px!important;min-width:112px!important;max-width:112px!important}
  .col-liveTrafficLeads-orderAmount{width:124px!important;min-width:124px!important;max-width:124px!important}
}


/* 统一表格重点字段颜色：只点亮关键单元格，避免整页过花 */
td.cell-key{font-weight:700;border-left:3px solid transparent}
td.cell-identity{background:#f4f9ff;border-left-color:#9fc5ee;color:#174b7a}
td.cell-assign{background:#f3f8fd;border-left-color:#b5d3ef;color:#1f5f91}
td.cell-type{background:#f6f9fc;border-left-color:#c5d8ea;color:#34495e}
td.cell-amount{font-weight:800;color:#b93636;background:#fffaf2}
td.cell-tone-green{background:#f1faf6;color:#126b59}
td.cell-tone-amber{background:#fff9e8;color:#8a5205}
td.cell-tone-orange{background:#fff4e8;color:#9a5a08}
td.cell-tone-red{background:#fff1f1;color:#a93030}
td.cell-tone-blue{background:#f2f7fd;color:#1f5f91}
td.cell-tone-gray{background:#f3f5f7;color:#66727f}
td.cell-key .inline-field,td.cell-tone-green .inline-field,td.cell-tone-amber .inline-field,td.cell-tone-orange .inline-field,td.cell-tone-red .inline-field,td.cell-tone-blue .inline-field,td.cell-tone-gray .inline-field{color:inherit;font-weight:700}
td.cell-amount .inline-field{color:#b93636;font-weight:800}
tr:hover td.cell-key,tr:hover td.cell-tone-green,tr:hover td.cell-tone-amber,tr:hover td.cell-tone-orange,tr:hover td.cell-tone-red,tr:hover td.cell-tone-blue,tr:hover td.cell-tone-gray,tr:hover td.cell-amount{filter:brightness(.985)}
.tag.orange{background:#fff0df;color:#9a5a08}
.tag.gray{background:#edf0f3;color:#66727f}
.offer-status-badge{box-shadow:inset 0 0 0 1px rgba(22,134,109,.12)}

/* 20260711: 让可编辑下拉框/输入框也继承重点颜色，避免白底控件盖住颜色 */
td.cell-identity,td.cell-identity .inline-field{background:#edf6ff!important;border-color:#b8d7f3!important;color:#174b7a!important;font-weight:700}
td.cell-assign,td.cell-assign .inline-field{background:#eef7ff!important;border-color:#bed9f0!important;color:#1f5f91!important;font-weight:700}
td.cell-type,td.cell-type .inline-field{background:#f2f7fc!important;border-color:#c7d9e9!important;color:#34495e!important;font-weight:700}
td.cell-amount,td.cell-amount .inline-field{background:#fff5e8!important;border-color:#f2c988!important;color:#a84b16!important;font-weight:800}
td.cell-tone-green,td.cell-tone-green .inline-field{background:#edf9f3!important;border-color:#bfe3d5!important;color:#126b59!important;font-weight:700}
td.cell-tone-amber,td.cell-tone-amber .inline-field{background:#fff7df!important;border-color:#ead08e!important;color:#805003!important;font-weight:700}
td.cell-tone-orange,td.cell-tone-orange .inline-field{background:#fff0df!important;border-color:#edbf8a!important;color:#904f05!important;font-weight:700}
td.cell-tone-red,td.cell-tone-red .inline-field{background:#fff0f0!important;border-color:#efb4b4!important;color:#9f2c2c!important;font-weight:700}
td.cell-tone-blue,td.cell-tone-blue .inline-field{background:#edf6ff!important;border-color:#bdd7ef!important;color:#1f5f91!important;font-weight:700}
td.cell-tone-gray,td.cell-tone-gray .inline-field{background:#f0f2f4!important;border-color:#ccd3da!important;color:#5f6b76!important;font-weight:700}
td.cell-key select.inline-field,td[class*="cell-tone-"] select.inline-field,td.cell-amount select.inline-field{appearance:auto!important;background-image:none!important}
th.col-studentNo,th.col-name,th.col-teacherId,th.col-mainTeacherId,th.col-salesperson,th.col-owner{background:#eaf4ff!important;color:#174b7a!important}
th.col-serviceMode,th.col-servicePackage,th.col-type,th.col-channel{background:#eef6fb!important;color:#34495e!important}
th.col-status,th.col-stage,th.col-studentStage,th.col-outcome,th.col-emotion,th.col-severity,th.col-passed,th.col-intentLevel,th.col-ordered{background:#fff7e4!important;color:#805003!important}
th.col-paidAmount,th.col-contractAmount,th.col-refundAmount,th.col-amount,th.col-fee,th.col-orderAmount{background:#fff1e3!important;color:#a84b16!important}
th.col-riskNote,th.col-reason,th.col-issue{background:#fff0f0!important;color:#9f2c2c!important}
.table-wrap table tbody tr:hover td.cell-identity,.table-wrap table tbody tr:hover td.cell-assign,.table-wrap table tbody tr:hover td.cell-type,.table-wrap table tbody tr:hover td.cell-amount,.table-wrap table tbody tr:hover td[class*="cell-tone-"]{box-shadow:inset 0 0 0 9999px rgba(255,255,255,.08)}

/* 20260711 v3: 只给字段控件上色，去掉整列底色 */
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray{
  background:transparent!important;
  border-left:0!important;
  box-shadow:none!important;
}
.table-wrap table thead th.col-studentNo,
.table-wrap table thead th.col-name,
.table-wrap table thead th.col-teacherId,
.table-wrap table thead th.col-mainTeacherId,
.table-wrap table thead th.col-salesperson,
.table-wrap table thead th.col-owner,
.table-wrap table thead th.col-serviceMode,
.table-wrap table thead th.col-servicePackage,
.table-wrap table thead th.col-type,
.table-wrap table thead th.col-channel,
.table-wrap table thead th.col-status,
.table-wrap table thead th.col-stage,
.table-wrap table thead th.col-studentStage,
.table-wrap table thead th.col-outcome,
.table-wrap table thead th.col-emotion,
.table-wrap table thead th.col-severity,
.table-wrap table thead th.col-passed,
.table-wrap table thead th.col-intentLevel,
.table-wrap table thead th.col-ordered,
.table-wrap table thead th.col-paidAmount,
.table-wrap table thead th.col-contractAmount,
.table-wrap table thead th.col-refundAmount,
.table-wrap table thead th.col-amount,
.table-wrap table thead th.col-fee,
.table-wrap table thead th.col-orderAmount,
.table-wrap table thead th.col-riskNote,
.table-wrap table thead th.col-reason,
.table-wrap table thead th.col-issue{
  background:#f7f9fb!important;
  color:#596574!important;
}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field,
.table-wrap table tbody td.cell-amount .inline-field,
.table-wrap table tbody td[class*="cell-tone-"] .inline-field{
  border-radius:5px!important;
  box-shadow:0 0 0 1px rgba(16,43,70,.03)!important;
}
.table-wrap table tbody td.cell-identity .inline-field{background:#f2f8ff!important;border-color:#bdd9f1!important;color:#174b7a!important}
.table-wrap table tbody td.cell-assign .inline-field{background:#f4f9ff!important;border-color:#c5dced!important;color:#1f5f91!important}
.table-wrap table tbody td.cell-type .inline-field{background:#f5f8fb!important;border-color:#ccdbe8!important;color:#34495e!important}
.table-wrap table tbody td.cell-amount .inline-field{background:#fff8ed!important;border-color:#efc98e!important;color:#a84b16!important}
.table-wrap table tbody td.cell-tone-green .inline-field{background:#f0faf5!important;border-color:#bfe3d5!important;color:#126b59!important}
.table-wrap table tbody td.cell-tone-amber .inline-field{background:#fff9e8!important;border-color:#ead08e!important;color:#805003!important}
.table-wrap table tbody td.cell-tone-orange .inline-field{background:#fff4e8!important;border-color:#edbf8a!important;color:#904f05!important}
.table-wrap table tbody td.cell-tone-red .inline-field{background:#fff4f4!important;border-color:#efb4b4!important;color:#9f2c2c!important}
.table-wrap table tbody td.cell-tone-blue .inline-field{background:#f2f8ff!important;border-color:#bdd7ef!important;color:#1f5f91!important}
.table-wrap table tbody td.cell-tone-gray .inline-field{background:#f5f6f8!important;border-color:#d1d7de!important;color:#5f6b76!important}
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){color:#a84b16!important;font-weight:800}

/* 20260712 dark glass UI: 只改视觉，不改交互与业务逻辑 */
:root{
  --navy:#050607;
  --navy2:rgba(255,255,255,.08);
  --ink:#edf2f8;
  --muted:#8e98a6;
  --line:rgba(255,255,255,.09);
  --bg:#050607;
  --white:rgba(22,24,28,.64);
  --green:#79d6a3;
  --amber:#e1b76e;
  --red:#ef8b8b;
  --blue:#9bc8ff;
  --shadow:0 24px 72px rgba(0,0,0,.44);
}
body{
  background:
    radial-gradient(circle at 62% 14%,rgba(255,255,255,.12),transparent 16%),
    radial-gradient(circle at 72% 18%,rgba(214,161,93,.20),transparent 18%),
    radial-gradient(circle at 36% 18%,rgba(127,183,255,.13),transparent 20%),
    linear-gradient(180deg,#020303 0%,#07090c 45%,#020303 100%)!important;
  color:#d7dee8!important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.055) 28%,transparent 40%,rgba(214,161,93,.07) 56%,transparent 72%),
    radial-gradient(ellipse at 50% 16%,rgba(255,255,255,.08),transparent 24%);
}
.login-shell,.review-page{
  background:
    radial-gradient(circle at 62% 18%,rgba(255,255,255,.12),transparent 16%),
    radial-gradient(circle at 70% 20%,rgba(214,161,93,.18),transparent 19%),
    linear-gradient(180deg,#020303,#07090c 45%,#020303)!important;
}
.app{position:relative;z-index:1;padding:16px;grid-template-columns:246px minmax(0,1fr);gap:16px}
aside{
  position:sticky!important;
  top:16px!important;
  inset:auto!important;
  width:auto!important;
  height:calc(100vh - 32px)!important;
  padding:16px 12px!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(31,34,40,.72),rgba(15,17,20,.58))!important;
  backdrop-filter:blur(34px) saturate(150%);
  box-shadow:var(--shadow);
}
main{grid-column:auto!important;min-width:0;position:relative;z-index:1}
.side-brand{padding:8px 10px 18px!important;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:10px}
.side-brand strong{font-size:18px!important;color:#fff!important}
.side-brand small{color:#a6afbb!important;max-width:none!important}
nav{gap:5px!important}
nav button{
  height:40px;
  border-radius:15px!important;
  padding:0 12px!important;
  color:#b4bdc9!important;
}
nav button:hover,nav button.active{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.06))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.side-foot{border-top:1px solid rgba(255,255,255,.07)!important;color:#aeb7c3!important}
.side-foot .link{color:#cbd5e1!important}
header{
  height:74px!important;
  margin:0!important;
  padding:0 22px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(34,37,44,.66),rgba(14,16,19,.48))!important;
  backdrop-filter:blur(34px) saturate(150%);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
}
header h1{color:#fff!important}
header p{color:#a6afbb!important}
#content{padding:16px 0 42px!important}
.card,.panel,.login-panel,.review-card,.modal-card{
  border:1px solid rgba(255,255,255,.10)!important;
  background:linear-gradient(145deg,rgba(36,39,46,.62),rgba(15,17,20,.44))!important;
  color:#d7dee8!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(30px) saturate(145%);
}
.card,.panel,.login-panel,.review-card{border-radius:26px!important}
.metric span,.panel-head h2,.login-panel h1,.review-card h1{color:#fff!important}
.metric span,.login-panel p,.review-card p{color:#a6afbb!important}
.metric strong{color:#fff!important}
.metric.warn,.metric.danger{border-left:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 14px 38px rgba(0,0,0,.28)!important}
.panel-head,.modal-head{
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  background:transparent!important;
}
.toolbar,.filter-grid,.filter-bar,.teacher-quick,.note{
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  background:rgba(22,24,28,.52)!important;
  color:#d7dee8!important;
  backdrop-filter:blur(30px) saturate(145%);
  box-shadow:0 14px 38px rgba(0,0,0,.22);
}
.toolbar input,.toolbar select,.filter-grid select,.form-grid input,.form-grid select,.form-grid textarea,
.login-panel input,.review-card input,.review-card select,.review-card textarea,.inline-field,.offer-edit,.offer-toolbar input,.offer-toolbar select{
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.065)!important;
  color:#ecf1f8!important;
  border-radius:14px!important;
}
select option{background:#171a1f;color:#fff}
input::placeholder,textarea::placeholder{color:#68727f!important}
.toolbar input:focus,.toolbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.login-panel input:focus,.review-card input:focus,.review-card select:focus,.review-card textarea:focus,.inline-field:focus{
  border-color:rgba(214,161,93,.45)!important;
  box-shadow:0 0 0 4px rgba(214,161,93,.10)!important;
  outline:none!important;
}
.primary{
  color:#161719!important;
  font-weight:800;
  background:linear-gradient(180deg,#fff,#d8dee7)!important;
  box-shadow:0 12px 26px rgba(255,255,255,.12)!important;
}
.secondary,.icon-btn,.notify-btn,.danger-btn{
  color:#dce3ec!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.danger-btn{color:#ef8b8b!important}
.sync-badge{display:none!important}
.table-scroll-top{background:rgba(255,255,255,.03)!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.table-wrap table{background:transparent!important}
th,td{border-bottom:1px solid rgba(255,255,255,.065)!important}
th{
  background:rgba(255,255,255,.035)!important;
  color:#8f9aa8!important;
}
td{color:#d7dee8!important}
tr:hover td{background:rgba(255,255,255,.035)!important}
.date-gap-row td{
  background:rgba(255,255,255,.055)!important;
  color:#e6edf5!important;
  border-top:14px solid transparent!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.date-gap-row span{background:rgba(255,255,255,.09)!important;color:#fff!important}
.tag{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  height:25px;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055)!important;
  color:#dde5ef!important;
  font-weight:700;
}
.tag::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#737d8a;
  box-shadow:0 0 12px currentColor;
}
.tag.green{color:#b9efd1!important;border-color:rgba(121,214,163,.20)!important}
.tag.green::before{background:#79d6a3}
.tag.amber,.tag.orange{color:#f1d6a2!important;border-color:rgba(225,183,110,.20)!important}
.tag.amber::before,.tag.orange::before{background:#e1b76e}
.tag.red{color:#f2b4b4!important;border-color:rgba(239,139,139,.20)!important}
.tag.red::before{background:#ef8b8b}
.tag.blue{color:#b9d8ff!important;border-color:rgba(127,183,255,.20)!important}
.tag.blue::before{background:#7fb7ff}
.tag.gray{color:#aeb7c3!important}
.count-pill,.offer-pill-readonly{
  background:rgba(255,255,255,.065)!important;
  color:#dbe4ee!important;
  border:1px solid rgba(255,255,255,.10);
}
.link-btn,.action{color:#cbd5e1!important}
.danger-text,.danger-link,.delete{color:#d98d8d!important}
td.cell-amount,td.cell-amount:not(:has(.inline-field)){color:#f0c98d!important;font-weight:800}
td.cell-identity .inline-field,td.cell-assign .inline-field,td.cell-type .inline-field,
td.cell-tone-green .inline-field,td.cell-tone-amber .inline-field,td.cell-tone-orange .inline-field,
td.cell-tone-red .inline-field,td.cell-tone-blue .inline-field,td.cell-tone-gray .inline-field{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.105)!important;
  color:#edf2f8!important;
}
td.cell-amount .inline-field{color:#f0c98d!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.105)!important}
.modal{background:rgba(0,0,0,.62)!important}
.modal-card{border-radius:26px!important}
.modal-head{color:#fff!important}
.toast{background:#f4f7fb!important;color:#14171b!important;border-radius:14px!important}
.empty{color:#8e98a6!important}
.watermark-layer span{color:rgba(255,255,255,.035)!important}
.review-suggest{background:#171a1f!important;border-color:rgba(255,255,255,.11)!important}
.review-suggest button,.review-option{background:#171a1f!important;color:#ecf1f8!important}
.review-suggest button:hover{background:rgba(255,255,255,.08)!important}
.offer-card,.offer-case-card{background:linear-gradient(145deg,rgba(36,39,46,.62),rgba(15,17,20,.44))!important;border-color:rgba(255,255,255,.10)!important}
.offer-card-head,.offer-case-head,.offer-foot{background:transparent!important;border-color:rgba(255,255,255,.07)!important}
.offer-avatar{background:rgba(255,255,255,.08)!important;color:#f0c98d!important}
.offer-student h2,.offer-company strong,.offer-case-company strong{color:#fff!important}
.offer-company span,.offer-foot,.offer-meta span,.offer-highlight span{color:#9fa8b5!important}
.offer-meta div,.offer-case-meta div,.offer-highlight{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.08)!important}
.offer-highlight{border-left-color:rgba(214,161,93,.42)!important}
.offer-highlight p{color:#d7dee8!important}
.salary-text,.salary-text .offer-edit{color:#f0c98d!important}
.drop-upload,.rate-grid{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.13)!important;
  color:#d7dee8!important;
}
.drop-title{color:#fff!important}
.drop-sub,.field-tip,.muted{color:#8e98a6!important}
@media(max-width:720px){
  .app{padding:0!important}
  aside{position:static!important;width:100%!important;height:auto!important;border-radius:0 0 24px 24px!important}
  header{border-radius:0!important}
  #content{padding:14px!important}
}

/* 20260712 Offer polish v2: appended last, keeps sales cards clear and case-like. */
.offer-grid{
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;
  align-items:start!important;
}
.offer-card.offer-case-card{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(200,212,226,.96)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(252,254,255,.96),rgba(235,242,249,.82))!important;
  box-shadow:0 18px 38px rgba(48,66,92,.12)!important;
}
.offer-card.offer-case-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#1f2937,#8aa7c7,#d9b56f);
  opacity:.9;
}
.offer-case-head{
  padding:18px 18px 14px!important;
  border-bottom:1px solid #dbe5ef!important;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(242,247,252,.58))!important;
}
.offer-student{gap:13px!important;align-items:center!important}
.offer-avatar{
  width:54px!important;
  height:54px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#e8f0f8,#f8fbff)!important;
  color:#162033!important;
  font-size:21px!important;
  font-weight:900!important;
  box-shadow:inset 0 0 0 1px rgba(199,211,224,.9),0 10px 20px rgba(42,59,84,.08)!important;
}
.offer-name-box{display:grid;gap:4px;min-width:0}
.offer-name-title{margin:0!important;line-height:1.1!important}
.offer-name-btn,.offer-name-readonly{
  display:grid!important;
  gap:3px!important;
  color:#111827!important;
  text-align:left!important;
}
.offer-name-main{
  display:block!important;
  font-size:23px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:0!important;
  color:#172033!important;
}
.offer-name-tip{
  display:block!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#748294!important;
}
.offer-name-btn:hover .offer-name-main{color:#245fbd!important}
.offer-date-line{color:#5f6f82!important;font-size:12px!important;gap:8px!important}
.offer-date-line span{display:inline-flex;align-items:center;min-height:22px}
.offer-date-inline{
  width:118px!important;
  min-height:22px!important;
  height:22px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#334155!important;
  padding:0 3px!important;
  box-shadow:none!important;
}
.offer-status-badge{
  min-height:28px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#e8f6ef!important;
  color:#08734d!important;
  border:1px solid #b9dfcd!important;
  font-weight:900!important;
}
.offer-case-company{
  padding:18px 18px 8px!important;
  display:grid!important;
  gap:8px!important;
}
.offer-company-name,.offer-case-company strong{
  display:block!important;
  font-size:31px!important;
  line-height:1.05!important;
  color:#101827!important;
  font-weight:950!important;
}
.offer-company-name .offer-edit,.offer-case-company strong .offer-edit{
  font-size:31px!important;
  font-weight:950!important;
  color:#101827!important;
  background:rgba(255,255,255,.68)!important;
}
.offer-target{
  justify-self:start!important;
  min-height:28px!important;
  padding:4px 11px!important;
  border-radius:999px!important;
  background:#edf4fb!important;
  color:#40536a!important;
  border:1px solid #d7e2ee!important;
  font-size:13px!important;
  font-weight:800!important;
}
.offer-target .offer-edit{
  min-height:22px!important;
  height:24px!important;
  padding:1px 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#40536a!important;
  font-weight:800!important;
}
.offer-case-meta{
  padding:10px 18px 14px!important;
  gap:9px!important;
}
.offer-case-meta div{
  border-radius:13px!important;
  background:rgba(248,251,255,.78)!important;
  border-color:#d8e3ee!important;
  padding:12px!important;
}
.offer-case-meta span{
  color:#738197!important;
  font-size:12px!important;
  font-weight:700!important;
}
.offer-case-meta b{
  display:block!important;
  margin-top:5px!important;
  color:#172033!important;
  font-size:15px!important;
  line-height:1.35!important;
}
.offer-meta-salary{
  background:linear-gradient(145deg,#fffaf0,#fff4db)!important;
  border-color:#e8c77c!important;
}
.salary-text,.salary-text .offer-edit{
  color:#8b5e12!important;
  font-weight:950!important;
}
.offer-highlight{
  margin:2px 18px 16px!important;
  padding:14px 15px!important;
  border-radius:14px!important;
  border:1px solid #d7e3ee!important;
  border-left:4px solid #245fbd!important;
  background:linear-gradient(145deg,rgba(245,249,253,.92),rgba(235,242,249,.82))!important;
}
.offer-highlight span{color:#52657b!important;font-weight:900!important}
.offer-highlight p{
  color:#182235!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.offer-foot{
  padding:13px 18px!important;
  background:rgba(244,248,252,.74)!important;
  border-top:1px solid #dbe5ef!important;
}
.offer-foot span{
  color:#607187!important;
  font-weight:700!important;
}
.offer-view-only{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#eef3f8!important;
  color:#66758a!important;
  border:1px solid #d8e1eb!important;
  font-size:12px!important;
  font-weight:800!important;
}
.offer-sales-card .offer-name-main{font-size:22px!important}
.offer-sales-card .offer-case-company strong,.offer-sales-card .offer-company-name{font-size:25px!important}
.offer-sales-card .offer-highlight{border-left-color:#9bb5d5!important}
@media(max-width:720px){
  .offer-grid{grid-template-columns:1fr!important}
  .offer-company-name,.offer-case-company strong,.offer-company-name .offer-edit,.offer-case-company strong .offer-edit{font-size:25px!important}
  .offer-name-main{font-size:21px!important}
}

/* 20260712 Offer library polish: stronger case-card hierarchy, still sales-safe. */
.offer-grid{
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;
  align-items:start;
}
.offer-card.offer-case-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(200,212,226,.96)!important;
  border-radius:18px!important;
  background:
    linear-gradient(145deg,rgba(252,254,255,.96),rgba(235,242,249,.82))!important;
  box-shadow:0 18px 38px rgba(48,66,92,.12)!important;
}
.offer-card.offer-case-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#1f2937,#8aa7c7,#d9b56f);
  opacity:.9;
}
.offer-case-head{
  padding:18px 18px 14px!important;
  border-bottom:1px solid #dbe5ef!important;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(242,247,252,.58))!important;
}
.offer-student{
  gap:13px!important;
  align-items:center!important;
}
.offer-avatar{
  width:54px!important;
  height:54px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#e8f0f8,#f8fbff)!important;
  color:#162033!important;
  font-size:21px!important;
  font-weight:900!important;
  box-shadow:inset 0 0 0 1px rgba(199,211,224,.9),0 10px 20px rgba(42,59,84,.08);
}
.offer-name-box{
  display:grid;
  gap:4px;
  min-width:0;
}
.offer-name-title{
  margin:0!important;
  line-height:1.1!important;
}
.offer-name-btn,
.offer-name-readonly{
  display:grid!important;
  gap:3px;
  color:#111827!important;
  text-align:left;
}
.offer-name-main{
  display:block;
  font-size:23px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:0;
  color:#172033;
}
.offer-name-tip{
  display:block;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  color:#748294;
}
.offer-name-btn:hover .offer-name-main{
  color:#245fbd;
}
.offer-date-line{
  color:#5f6f82!important;
  font-size:12px!important;
  gap:8px!important;
}
.offer-date-line span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
}
.offer-date-inline{
  width:118px!important;
  min-height:22px!important;
  height:22px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#334155!important;
  padding:0 3px!important;
  box-shadow:none!important;
}
.offer-status-badge{
  min-height:28px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#e8f6ef!important;
  color:#08734d!important;
  border:1px solid #b9dfcd!important;
  font-weight:900!important;
}
.offer-case-company{
  padding:18px 18px 8px!important;
  display:grid!important;
  gap:8px!important;
}
.offer-company-name,
.offer-case-company strong{
  display:block;
  font-size:31px!important;
  line-height:1.05!important;
  color:#101827!important;
  font-weight:950!important;
}
.offer-company-name .offer-edit,
.offer-case-company strong .offer-edit{
  font-size:31px!important;
  font-weight:950!important;
  color:#101827!important;
  background:rgba(255,255,255,.68)!important;
}
.offer-target{
  justify-self:start;
  min-height:28px;
  padding:4px 11px;
  border-radius:999px;
  background:#edf4fb;
  color:#40536a!important;
  border:1px solid #d7e2ee;
  font-size:13px!important;
  font-weight:800;
}
.offer-target .offer-edit{
  min-height:22px!important;
  height:24px!important;
  padding:1px 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#40536a!important;
  font-weight:800!important;
}
.offer-case-meta{
  padding:10px 18px 14px!important;
  gap:9px!important;
}
.offer-case-meta div{
  border-radius:13px!important;
  background:rgba(248,251,255,.78)!important;
  border-color:#d8e3ee!important;
  padding:12px!important;
}
.offer-case-meta span{
  color:#738197!important;
  font-size:12px!important;
  font-weight:700;
}
.offer-case-meta b{
  display:block;
  margin-top:5px;
  color:#172033!important;
  font-size:15px!important;
  line-height:1.35;
}
.offer-meta-salary{
  background:linear-gradient(145deg,#fffaf0,#fff4db)!important;
  border-color:#e8c77c!important;
}
.salary-text,
.salary-text .offer-edit{
  color:#8b5e12!important;
  font-weight:950!important;
}
.offer-highlight{
  margin:2px 18px 16px!important;
  padding:14px 15px!important;
  border-radius:14px!important;
  border:1px solid #d7e3ee!important;
  border-left:4px solid #245fbd!important;
  background:linear-gradient(145deg,rgba(245,249,253,.92),rgba(235,242,249,.82))!important;
}
.offer-highlight span{
  color:#52657b!important;
  font-weight:900;
}
.offer-highlight p{
  color:#182235!important;
  font-size:14px;
  line-height:1.75!important;
}
.offer-foot{
  padding:13px 18px!important;
  background:rgba(244,248,252,.74)!important;
  border-top:1px solid #dbe5ef!important;
}
.offer-foot span{
  color:#607187!important;
  font-weight:700;
}
.offer-view-only{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#eef3f8;
  color:#66758a!important;
  border:1px solid #d8e1eb;
  font-size:12px;
  font-weight:800!important;
}
.offer-sales-card .offer-name-main{
  font-size:22px;
}
.offer-sales-card .offer-case-company strong,
.offer-sales-card .offer-company-name{
  font-size:25px!important;
}
.offer-sales-card .offer-highlight{
  border-left-color:#9bb5d5!important;
}
@media(max-width:720px){
  .offer-grid{grid-template-columns:1fr!important}
  .offer-company-name,.offer-case-company strong,.offer-company-name .offer-edit,.offer-case-company strong .offer-edit{font-size:25px!important}
  .offer-name-main{font-size:21px}
}

/* 20260712 comfort light v3: final skin placed last so older dark/pure-white blocks cannot override it. */
:root{
  --bg:#edf2f6;
  --line:#d8e1eb;
  --text:#172033;
  --muted:#6f7c8d;
  --green:#147a56;
  --amber:#9b6506;
  --red:#b42318;
  --blue:#245fbd;
  --shadow:0 18px 42px rgba(40,55,78,.10);
}
body,.login-shell,.review-page{
  background:linear-gradient(180deg,#f1f5f9 0%,#edf2f6 48%,#e7edf4 100%)!important;
  color:#172033!important;
}
body::before{
  background:
    radial-gradient(circle at 16% 8%,rgba(255,255,255,.44),transparent 26%),
    radial-gradient(circle at 88% 0%,rgba(214,226,241,.48),transparent 30%)!important;
}
aside,header,.card,.panel,.login-panel,.review-card,.modal-card{
  border-color:rgba(213,222,233,.96)!important;
  background:linear-gradient(145deg,rgba(250,252,255,.88),rgba(240,245,250,.78))!important;
  color:#172033!important;
  box-shadow:0 16px 40px rgba(39,55,79,.09)!important;
  backdrop-filter:blur(22px) saturate(145%);
}
aside,header{border-radius:28px!important}
.card,.panel,.login-panel,.review-card,.modal-card{border-radius:24px!important}
.side-brand strong,header h1,.metric strong,.panel-head h2,.login-panel h1,.review-card h1{color:#121a2a!important}
.side-brand small,header p,.metric span,.login-panel p,.review-card p,.muted,.field-tip{color:#6f7c8d!important}
nav button{color:#48566a!important;border-radius:16px!important}
nav button:hover,nav button.active{
  color:#121a2a!important;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(235,241,248,.72))!important;
  box-shadow:inset 0 0 0 1px rgba(203,213,225,.88),0 10px 22px rgba(35,50,72,.06)!important;
}
.toolbar,.filter-grid,.filter-bar,.teacher-quick,.note{
  border-color:rgba(213,222,233,.96)!important;
  background:rgba(246,249,252,.78)!important;
  box-shadow:0 10px 26px rgba(39,55,79,.06)!important;
  border-radius:22px!important;
}
.toolbar input,.toolbar select,.filter-grid select,.form-grid input,.form-grid select,.form-grid textarea,
.login-panel input,.review-card input,.review-card select,.review-card textarea,.inline-field,.offer-edit,.offer-toolbar input,.offer-toolbar select{
  min-height:34px;
  border:1px solid #d6e0eb!important;
  background:rgba(248,250,252,.86)!important;
  color:#172033!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.inline-field{
  height:34px;
  padding:6px 9px!important;
  line-height:20px!important;
  vertical-align:middle;
}
select.inline-field{padding-right:24px!important}
.primary{
  color:#fff!important;
  background:linear-gradient(180deg,#263245,#172033)!important;
  box-shadow:0 12px 24px rgba(23,32,51,.16)!important;
}
.secondary,.icon-btn,.notify-btn,.danger-btn{
  color:#334155!important;
  background:rgba(248,250,252,.82)!important;
  border:1px solid #d8e1eb!important;
  box-shadow:none!important;
}
.table-scroll-top{background:#e9eff5!important;border-bottom:1px solid #dbe3ec!important}
.table-wrap table{border-collapse:separate!important;border-spacing:0!important;background:transparent!important}
th{background:#eef3f8!important;color:#66758a!important;border-bottom:1px solid #dbe3ec!important}
td{color:#172033!important;border-bottom:1px solid #dfe7ef!important;background:transparent!important}
tr:hover td{background:rgba(248,251,255,.62)!important}
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray,
.table-wrap table tbody tr:hover td.cell-key,
.table-wrap table tbody tr:hover td.cell-identity,
.table-wrap table tbody tr:hover td.cell-assign,
.table-wrap table tbody tr:hover td.cell-type,
.table-wrap table tbody tr:hover td.cell-amount,
.table-wrap table tbody tr:hover td.cell-tone-green,
.table-wrap table tbody tr:hover td.cell-tone-amber,
.table-wrap table tbody tr:hover td.cell-tone-orange,
.table-wrap table tbody tr:hover td.cell-tone-red,
.table-wrap table tbody tr:hover td.cell-tone-blue,
.table-wrap table tbody tr:hover td.cell-tone-gray{
  background:transparent!important;
  border-left:0!important;
  box-shadow:none!important;
}
.table-wrap table tbody tr:hover td{background:rgba(248,251,255,.62)!important}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field{
  background:rgba(248,250,252,.86)!important;
  border-color:#d6e0eb!important;
  color:#172033!important;
  font-weight:700!important;
}
.table-wrap table tbody td.cell-tone-green .inline-field{background:#eef8f3!important;border-color:#b8dccb!important;color:#147a56!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-amber .inline-field,
.table-wrap table tbody td.cell-tone-orange .inline-field{background:#fff7e8!important;border-color:#e9c982!important;color:#9b6506!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-red .inline-field{background:#fff1f0!important;border-color:#efb1aa!important;color:#b42318!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-blue .inline-field{background:#eff6ff!important;border-color:#bad2f2!important;color:#245fbd!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-gray .inline-field{background:#f0f3f6!important;border-color:#ccd6e1!important;color:#66758a!important;font-weight:800!important}
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){color:#8b5e12!important;font-weight:800!important}
.table-wrap table tbody td.cell-amount .inline-field{background:#fff8ea!important;border-color:#e8c77c!important;color:#8b5e12!important;font-weight:800!important}
.date-gap-row td{
  background:#e8eef5!important;
  color:#334155!important;
  border-top:12px solid #edf2f6!important;
  border-bottom:1px solid #d9e2ec!important;
}
.date-gap-row span{background:rgba(248,250,252,.86)!important;color:#334155!important;border:1px solid #d6e0eb!important}
.tag{background:#f2f5f8!important;color:#475569!important;border:1px solid #d7e0ea!important}
.tag.green{background:#eef8f3!important;color:#147a56!important;border-color:#b8dccb!important}
.tag.amber,.tag.orange{background:#fff7e8!important;color:#9b6506!important;border-color:#e9c982!important}
.tag.red{background:#fff1f0!important;color:#b42318!important;border-color:#efb1aa!important}
.tag.blue{background:#eff6ff!important;color:#245fbd!important;border-color:#bad2f2!important}
.tag.gray{background:#f0f3f6!important;color:#66758a!important;border-color:#ccd6e1!important}
.cards .metric{
  position:relative;
  overflow:hidden;
  border-color:#d7e2ec!important;
  background:linear-gradient(145deg,rgba(250,252,255,.92),rgba(241,246,251,.84))!important;
}
.cards .metric::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:rgba(95,132,176,.22);
}
.cards .metric.warn::before{background:rgba(209,145,46,.28)}
.cards .metric.danger::before{background:rgba(209,77,77,.26)}
.cards .metric:nth-child(1)::after,
.cards .metric:nth-child(4)::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(78,125,188,.075),transparent 58%);
}
.stage-grid .stage{
  position:relative;
  overflow:hidden;
  border-color:#d8e3ed!important;
  background:linear-gradient(145deg,rgba(252,254,255,.90),rgba(246,249,252,.82))!important;
}
.stage-grid .stage::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:rgba(90,123,161,.18);
}
.stage-grid .stage:nth-child(5)::before,
.stage-grid .stage:nth-child(6)::before,
.stage-grid .stage:nth-child(8)::before{background:rgba(50,143,103,.20)}
.stage-grid .stage:nth-last-child(-n+4)::before{background:rgba(205,83,83,.23)}
.stage-grid .stage span,
.stage-grid .stage strong{
  position:relative;
  z-index:1;
}
.offer-card,.offer-case-card{background:linear-gradient(145deg,rgba(250,252,255,.90),rgba(240,245,250,.80))!important;border-color:#dbe3ec!important}
.offer-meta div,.offer-case-meta div,.offer-highlight,.drop-upload,.rate-grid{background:#f2f6fa!important;border-color:#d8e1eb!important}
.watermark-layer span{color:rgba(23,32,51,.03)!important}
@media(max-width:720px){
  .app{padding:0!important}
  aside{position:static!important;width:100%!important;height:auto!important;border-radius:0 0 24px 24px!important}
  header{border-radius:0!important}
  #content{padding:14px!important}
}

/* 20260712 comfort light final override: softer than pure white, no overlapping color bars. */
:root{
  --bg:#edf2f6;
  --line:#d8e1eb;
  --text:#172033;
  --muted:#6f7c8d;
  --green:#147a56;
  --amber:#9b6506;
  --red:#b42318;
  --blue:#245fbd;
  --shadow:0 18px 42px rgba(40,55,78,.10);
}
body,.login-shell,.review-page{
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.58),transparent 26%),
    radial-gradient(circle at 88% 0%,rgba(214,226,241,.64),transparent 30%),
    linear-gradient(180deg,#f1f5f9 0%,#edf2f6 48%,#e8eef5 100%)!important;
  color:#172033!important;
}
body::before{
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.28) 30%,transparent 43%,rgba(203,213,225,.18) 68%,transparent 80%),
    radial-gradient(ellipse at 52% 0%,rgba(255,255,255,.36),transparent 24%)!important;
}
.app{background:transparent!important}
aside,header,.card,.panel,.login-panel,.review-card,.modal-card{
  border-color:rgba(213,222,233,.96)!important;
  background:linear-gradient(145deg,rgba(250,252,255,.88),rgba(240,245,250,.78))!important;
  color:#172033!important;
  box-shadow:0 16px 40px rgba(39,55,79,.09)!important;
  backdrop-filter:blur(22px) saturate(145%);
}
aside,header{border-radius:28px!important}
.card,.panel,.login-panel,.review-card,.modal-card{border-radius:24px!important}
.side-brand strong,header h1,.metric strong,.panel-head h2,.login-panel h1,.review-card h1{color:#121a2a!important}
.side-brand small,header p,.metric span,.login-panel p,.review-card p,.muted,.field-tip{color:#6f7c8d!important}
nav button{color:#48566a!important;border-radius:16px!important}
nav button:hover,nav button.active{
  color:#121a2a!important;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(235,241,248,.72))!important;
  box-shadow:inset 0 0 0 1px rgba(203,213,225,.88),0 10px 22px rgba(35,50,72,.06)!important;
}
.toolbar,.filter-grid,.filter-bar,.teacher-quick,.note{
  border-color:rgba(213,222,233,.96)!important;
  background:rgba(246,249,252,.78)!important;
  box-shadow:0 10px 26px rgba(39,55,79,.06)!important;
  border-radius:22px!important;
}
.primary{
  color:#fff!important;
  background:linear-gradient(180deg,#263245,#172033)!important;
  box-shadow:0 12px 24px rgba(23,32,51,.16)!important;
}
.secondary,.icon-btn,.notify-btn,.danger-btn{
  color:#334155!important;
  background:rgba(248,250,252,.82)!important;
  border:1px solid #d8e1eb!important;
  box-shadow:none!important;
}
.toolbar input,.toolbar select,.filter-grid select,.form-grid input,.form-grid select,.form-grid textarea,
.login-panel input,.review-card input,.review-card select,.review-card textarea,.inline-field,.offer-edit,.offer-toolbar input,.offer-toolbar select{
  min-height:34px;
  border:1px solid #d6e0eb!important;
  background:rgba(248,250,252,.86)!important;
  color:#172033!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.inline-field{
  height:34px;
  padding:6px 9px!important;
  line-height:20px!important;
  vertical-align:middle;
}
select.inline-field{padding-right:24px!important}
.toolbar input:focus,.toolbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.login-panel input:focus,.review-card input:focus,.review-card select:focus,.review-card textarea:focus,.inline-field:focus{
  border-color:#8fb6e8!important;
  box-shadow:0 0 0 4px rgba(80,140,210,.12),inset 0 1px 0 rgba(255,255,255,.78)!important;
  outline:none!important;
}
.table-scroll-top{background:#e9eff5!important;border-bottom:1px solid #dbe3ec!important}
.table-wrap table{
  border-collapse:separate!important;
  border-spacing:0!important;
  background:transparent!important;
}
th{
  background:#eef3f8!important;
  color:#66758a!important;
  border-bottom:1px solid #dbe3ec!important;
}
td{
  color:#172033!important;
  border-bottom:1px solid #dfe7ef!important;
  background:transparent!important;
}
tr:hover td{background:rgba(248,251,255,.62)!important}
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray,
.table-wrap table tbody tr:hover td.cell-key,
.table-wrap table tbody tr:hover td.cell-identity,
.table-wrap table tbody tr:hover td.cell-assign,
.table-wrap table tbody tr:hover td.cell-type,
.table-wrap table tbody tr:hover td.cell-amount,
.table-wrap table tbody tr:hover td.cell-tone-green,
.table-wrap table tbody tr:hover td.cell-tone-amber,
.table-wrap table tbody tr:hover td.cell-tone-orange,
.table-wrap table tbody tr:hover td.cell-tone-red,
.table-wrap table tbody tr:hover td.cell-tone-blue,
.table-wrap table tbody tr:hover td.cell-tone-gray{
  background:transparent!important;
  border-left:0!important;
  box-shadow:none!important;
}
.table-wrap table tbody tr:hover td{background:rgba(248,251,255,.62)!important}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field{
  background:rgba(248,250,252,.86)!important;
  border-color:#d6e0eb!important;
  color:#172033!important;
  font-weight:700!important;
}
.table-wrap table tbody td.cell-tone-green .inline-field{
  background:#eef8f3!important;
  border-color:#b8dccb!important;
  color:#147a56!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-amber .inline-field,
.table-wrap table tbody td.cell-tone-orange .inline-field{
  background:#fff7e8!important;
  border-color:#e9c982!important;
  color:#9b6506!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-red .inline-field{
  background:#fff1f0!important;
  border-color:#efb1aa!important;
  color:#b42318!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-blue .inline-field{
  background:#eff6ff!important;
  border-color:#bad2f2!important;
  color:#245fbd!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-gray .inline-field{
  background:#f0f3f6!important;
  border-color:#ccd6e1!important;
  color:#66758a!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){
  color:#8b5e12!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-amount .inline-field{
  background:#fff8ea!important;
  border-color:#e8c77c!important;
  color:#8b5e12!important;
  font-weight:800!important;
}
.date-gap-row td{
  background:#e8eef5!important;
  color:#334155!important;
  border-top:12px solid #edf2f6!important;
  border-bottom:1px solid #d9e2ec!important;
}
.date-gap-row span{
  background:rgba(248,250,252,.86)!important;
  color:#334155!important;
  border:1px solid #d6e0eb!important;
}
.tag{
  background:#f2f5f8!important;
  color:#475569!important;
  border:1px solid #d7e0ea!important;
}
.tag.green{background:#eef8f3!important;color:#147a56!important;border-color:#b8dccb!important}
.tag.amber,.tag.orange{background:#fff7e8!important;color:#9b6506!important;border-color:#e9c982!important}
.tag.red{background:#fff1f0!important;color:#b42318!important;border-color:#efb1aa!important}
.tag.blue{background:#eff6ff!important;color:#245fbd!important;border-color:#bad2f2!important}
.tag.gray{background:#f0f3f6!important;color:#66758a!important;border-color:#ccd6e1!important}
.offer-card,.offer-case-card{
  background:linear-gradient(145deg,rgba(250,252,255,.90),rgba(240,245,250,.80))!important;
  border-color:#dbe3ec!important;
}
.offer-meta div,.offer-case-meta div,.offer-highlight,.drop-upload,.rate-grid{
  background:#f2f6fa!important;
  border-color:#d8e1eb!important;
}
.watermark-layer span{color:rgba(23,32,51,.03)!important}
@media(max-width:720px){
  .app{padding:0!important}
  aside{position:static!important;width:100%!important;height:auto!important;border-radius:0 0 24px 24px!important}
  header{border-radius:0!important}
  #content{padding:14px!important}
}

/* Comfort light UI: lower brightness, iOS-like glass controls, value-level status colors. */
:root{
  --bg:#edf2f6;
  --line:#dbe3ec;
  --text:#172033;
  --muted:#6f7c8d;
  --panel:#f7f9fc;
  --panel-soft:rgba(248,250,252,.86);
  --green:#147a56;
  --amber:#9b6506;
  --red:#b42318;
  --blue:#245fbd;
  --shadow:0 18px 42px rgba(40,55,78,.10);
}
body,
.login-shell,
.review-page{
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.64),transparent 26%),
    radial-gradient(circle at 88% 0%,rgba(214,226,241,.68),transparent 30%),
    linear-gradient(180deg,#f1f5f9 0%,#edf2f6 46%,#e8eef5 100%)!important;
  color:#172033!important;
}
body::before{
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.34) 30%,transparent 43%,rgba(203,213,225,.20) 68%,transparent 80%),
    radial-gradient(ellipse at 52% 0%,rgba(255,255,255,.42),transparent 24%)!important;
}
aside,
header,
.card,
.panel,
.login-panel,
.review-card,
.modal-card{
  border-color:rgba(213,222,233,.96)!important;
  background:linear-gradient(145deg,rgba(250,252,255,.88),rgba(240,245,250,.78))!important;
  color:#172033!important;
  box-shadow:0 16px 40px rgba(39,55,79,.09)!important;
  backdrop-filter:blur(22px) saturate(145%);
}
aside{border-radius:28px!important}
header{border-radius:28px!important}
.card,.panel,.login-panel,.review-card,.modal-card{border-radius:24px!important}
.side-brand strong,
header h1,
.metric strong,
.panel-head h2,
.login-panel h1,
.review-card h1{
  color:#121a2a!important;
}
.side-brand small,
header p,
.metric span,
.login-panel p,
.review-card p,
.muted,
.field-tip{
  color:#6f7c8d!important;
}
nav button{
  color:#48566a!important;
  border-radius:16px!important;
}
nav button:hover,
nav button.active{
  color:#121a2a!important;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(235,241,248,.72))!important;
  box-shadow:inset 0 0 0 1px rgba(203,213,225,.88),0 10px 22px rgba(35,50,72,.06)!important;
}
.toolbar,
.filter-grid,
.filter-bar,
.teacher-quick,
.note{
  border-color:rgba(213,222,233,.96)!important;
  background:rgba(246,249,252,.78)!important;
  box-shadow:0 10px 26px rgba(39,55,79,.06)!important;
  border-radius:22px!important;
}
.primary{
  color:#fff!important;
  background:linear-gradient(180deg,#263245,#172033)!important;
  box-shadow:0 12px 24px rgba(23,32,51,.16)!important;
}
.secondary,
.icon-btn,
.notify-btn,
.danger-btn{
  color:#334155!important;
  background:rgba(248,250,252,.82)!important;
  border:1px solid #d8e1eb!important;
  box-shadow:none!important;
}
.toolbar input,
.toolbar select,
.filter-grid select,
.form-grid input,
.form-grid select,
.form-grid textarea,
.login-panel input,
.review-card input,
.review-card select,
.review-card textarea,
.inline-field,
.offer-edit,
.offer-toolbar input,
.offer-toolbar select{
  min-height:34px;
  border:1px solid #d6e0eb!important;
  background:rgba(248,250,252,.86)!important;
  color:#172033!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.inline-field{
  height:34px;
  padding:6px 9px!important;
  line-height:20px!important;
  vertical-align:middle;
}
select.inline-field{
  padding-right:24px!important;
}
.toolbar input:focus,
.toolbar select:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.login-panel input:focus,
.review-card input:focus,
.review-card select:focus,
.review-card textarea:focus,
.inline-field:focus{
  border-color:#8fb6e8!important;
  box-shadow:0 0 0 4px rgba(80,140,210,.12),inset 0 1px 0 rgba(255,255,255,.78)!important;
  outline:none!important;
}
.table-scroll-top{
  background:#e9eff5!important;
  border-bottom:1px solid #dbe3ec!important;
}
.table-wrap table{
  border-collapse:separate!important;
  border-spacing:0!important;
  background:transparent!important;
}
th{
  background:#eef3f8!important;
  color:#66758a!important;
  border-bottom:1px solid #dbe3ec!important;
}
td{
  color:#172033!important;
  border-bottom:1px solid #dfe7ef!important;
  background:transparent!important;
}
tr:hover td{
  background:rgba(248,251,255,.62)!important;
}
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray{
  background:transparent!important;
  border-left:0!important;
  box-shadow:none!important;
}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field{
  background:rgba(248,250,252,.86)!important;
  border-color:#d6e0eb!important;
  color:#172033!important;
  font-weight:700;
}
.table-wrap table tbody td.cell-tone-green .inline-field,
.status-tone-green{
  background:#eef8f3!important;
  border-color:#b8dccb!important;
  color:#147a56!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-amber .inline-field,
.table-wrap table tbody td.cell-tone-orange .inline-field,
.status-tone-amber,
.status-tone-orange{
  background:#fff7e8!important;
  border-color:#e9c982!important;
  color:#9b6506!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-red .inline-field,
.status-tone-red{
  background:#fff1f0!important;
  border-color:#efb1aa!important;
  color:#b42318!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-blue .inline-field,
.status-tone-blue{
  background:#eff6ff!important;
  border-color:#bad2f2!important;
  color:#245fbd!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-tone-gray .inline-field,
.status-tone-gray{
  background:#f0f3f6!important;
  border-color:#ccd6e1!important;
  color:#66758a!important;
  font-weight:800!important;
}
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){
  color:#8b5e12!important;
  font-weight:800;
}
.table-wrap table tbody td.cell-amount .inline-field{
  background:#fff8ea!important;
  border-color:#e8c77c!important;
  color:#8b5e12!important;
  font-weight:800!important;
}
.date-gap-row td{
  background:#e8eef5!important;
  color:#334155!important;
  border-top:12px solid #edf2f6!important;
  border-bottom:1px solid #d9e2ec!important;
}
.date-gap-row span{
  background:rgba(248,250,252,.86)!important;
  color:#334155!important;
  border:1px solid #d6e0eb!important;
}
.tag{
  background:#f2f5f8!important;
  color:#475569!important;
  border:1px solid #d7e0ea!important;
}
.tag.green{background:#eef8f3!important;color:#147a56!important;border-color:#b8dccb!important}
.tag.amber,.tag.orange{background:#fff7e8!important;color:#9b6506!important;border-color:#e9c982!important}
.tag.red{background:#fff1f0!important;color:#b42318!important;border-color:#efb1aa!important}
.tag.blue{background:#eff6ff!important;color:#245fbd!important;border-color:#bad2f2!important}
.tag.gray{background:#f0f3f6!important;color:#66758a!important;border-color:#ccd6e1!important}
.offer-card,
.offer-case-card{
  background:linear-gradient(145deg,rgba(250,252,255,.90),rgba(240,245,250,.80))!important;
  border-color:#dbe3ec!important;
}
.offer-meta div,
.offer-case-meta div,
.offer-highlight,
.drop-upload,
.rate-grid{
  background:#f2f6fa!important;
  border-color:#d8e1eb!important;
}
.watermark-layer span{
  color:rgba(23,32,51,.03)!important;
}

/* Dark glass refinement: keep dense tables calm; highlight only the field content, not whole columns. */
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray{
  background:transparent!important;
  color:#d7dee8!important;
}
.table-wrap table tbody tr:hover td.cell-key,
.table-wrap table tbody tr:hover td.cell-identity,
.table-wrap table tbody tr:hover td.cell-assign,
.table-wrap table tbody tr:hover td.cell-type,
.table-wrap table tbody tr:hover td.cell-amount,
.table-wrap table tbody tr:hover td.cell-tone-green,
.table-wrap table tbody tr:hover td.cell-tone-amber,
.table-wrap table tbody tr:hover td.cell-tone-orange,
.table-wrap table tbody tr:hover td.cell-tone-red,
.table-wrap table tbody tr:hover td.cell-tone-blue,
.table-wrap table tbody tr:hover td.cell-tone-gray{
  background:rgba(255,255,255,.035)!important;
}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field,
.table-wrap table tbody td.cell-tone-green .inline-field,
.table-wrap table tbody td.cell-tone-amber .inline-field,
.table-wrap table tbody td.cell-tone-orange .inline-field,
.table-wrap table tbody td.cell-tone-red .inline-field,
.table-wrap table tbody td.cell-tone-blue .inline-field,
.table-wrap table tbody td.cell-tone-gray .inline-field{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.11)!important;
  color:#edf2f8!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){
  color:#f0c98d!important;
  font-weight:800;
}
.table-wrap table tbody td.cell-amount .inline-field{
  color:#f0c98d!important;
  background:rgba(240,201,141,.08)!important;
  border-color:rgba(240,201,141,.22)!important;
}
.table-wrap table thead th.col-studentNo,
.table-wrap table thead th.col-name,
.table-wrap table thead th.col-teacherId,
.table-wrap table thead th.col-mainTeacherId,
.table-wrap table thead th.col-salesperson,
.table-wrap table thead th.col-owner,
.table-wrap table thead th.col-serviceMode,
.table-wrap table thead th.col-servicePackage,
.table-wrap table thead th.col-type,
.table-wrap table thead th.col-channel,
.table-wrap table thead th.col-status,
.table-wrap table thead th.col-stage,
.table-wrap table thead th.col-studentStage,
.table-wrap table thead th.col-outcome,
.table-wrap table thead th.col-emotion,
.table-wrap table thead th.col-severity,
.table-wrap table thead th.col-passed,
.table-wrap table thead th.col-intentLevel,
.table-wrap table thead th.col-ordered,
.table-wrap table thead th.col-paidAmount,
.table-wrap table thead th.col-contractAmount,
.table-wrap table thead th.col-refundAmount,
.table-wrap table thead th.col-amount,
.table-wrap table thead th.col-fee,
.table-wrap table thead th.col-orderAmount,
.table-wrap table thead th.col-riskNote,
.table-wrap table thead th.col-reason,
.table-wrap table thead th.col-issue{
  background:rgba(255,255,255,.035)!important;
  color:#8f9aa8!important;
}
.tag.green,.tag.amber,.tag.orange,.tag.red,.tag.blue,.tag.gray{
  background:rgba(255,255,255,.055)!important;
}

/* Light glass UI: bright, low-noise system skin. Visual-only override. */
:root{
  --bg:#f6f8fb;
  --line:#e2e8f0;
  --text:#172033;
  --muted:#6b7688;
  --panel:#ffffff;
  --panel-soft:rgba(255,255,255,.82);
  --green:#15835c;
  --amber:#9a6700;
  --red:#b42318;
  --blue:#2563eb;
  --shadow:0 18px 48px rgba(25,38,62,.10);
}
body{
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.95),transparent 25%),
    radial-gradient(circle at 84% 0%,rgba(219,234,254,.72),transparent 28%),
    linear-gradient(180deg,#f9fbff 0%,#f4f7fb 48%,#eef3f8 100%)!important;
  color:var(--text)!important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.62) 28%,transparent 42%,rgba(226,232,240,.44) 66%,transparent 78%),
    radial-gradient(ellipse at 52% 0%,rgba(255,255,255,.82),transparent 22%);
}
.login-shell,.review-page{
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.95),transparent 25%),
    radial-gradient(circle at 84% 0%,rgba(219,234,254,.72),transparent 28%),
    linear-gradient(180deg,#f9fbff 0%,#f4f7fb 48%,#eef3f8 100%)!important;
}
.app{position:relative;z-index:1;padding:16px!important;grid-template-columns:246px minmax(0,1fr);gap:16px}
aside{
  position:sticky!important;
  top:16px!important;
  inset:auto!important;
  width:auto!important;
  height:calc(100vh - 32px)!important;
  padding:16px 12px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.82))!important;
  backdrop-filter:blur(24px) saturate(150%);
  box-shadow:var(--shadow)!important;
}
main{grid-column:auto!important;min-width:0;position:relative;z-index:1}
.side-brand{padding:8px 10px 18px!important;border-bottom:1px solid rgba(226,232,240,.9)!important;margin-bottom:10px}
.side-brand strong{font-size:18px!important;color:#111827!important}
.side-brand small{color:#64748b!important;max-width:none!important}
nav{gap:5px!important}
nav button{
  height:40px;
  border-radius:15px!important;
  padding:0 12px!important;
  color:#475569!important;
}
nav button:hover,nav button.active{
  color:#111827!important;
  background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(241,245,249,.92))!important;
  box-shadow:inset 0 0 0 1px rgba(203,213,225,.85),0 10px 24px rgba(15,23,42,.07)!important;
}
.side-foot{border-top:1px solid rgba(226,232,240,.9)!important;color:#64748b!important}
.side-foot .link{color:#334155!important}
header{
  height:74px!important;
  margin:0!important;
  padding:0 22px!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,250,252,.82))!important;
  backdrop-filter:blur(24px) saturate(150%);
  box-shadow:var(--shadow)!important;
}
header h1{color:#111827!important}
header p{color:#64748b!important}
#content{padding:16px 0 42px!important}
.card,.panel,.login-panel,.review-card,.modal-card{
  border:1px solid rgba(226,232,240,.96)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,252,.84))!important;
  color:var(--text)!important;
  box-shadow:var(--shadow)!important;
  backdrop-filter:blur(22px) saturate(145%);
}
.card,.panel,.login-panel,.review-card{border-radius:24px!important}
.metric span,.login-panel p,.review-card p{color:#64748b!important}
.metric strong,.panel-head h2,.login-panel h1,.review-card h1{color:#111827!important}
.metric.warn,.metric.danger{border-left:0!important;box-shadow:inset 0 0 0 1px rgba(226,232,240,.96),var(--shadow)!important}
.panel-head,.modal-head{
  border-bottom:1px solid rgba(226,232,240,.9)!important;
  background:transparent!important;
}
.toolbar,.filter-grid,.filter-bar,.teacher-quick,.note{
  border:1px solid rgba(226,232,240,.96)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.78)!important;
  color:var(--text)!important;
  backdrop-filter:blur(20px) saturate(145%);
  box-shadow:0 12px 30px rgba(25,38,62,.07)!important;
}
.toolbar input,.toolbar select,.filter-grid select,.form-grid input,.form-grid select,.form-grid textarea,
.login-panel input,.review-card input,.review-card select,.review-card textarea,.inline-field,.offer-edit,.offer-toolbar input,.offer-toolbar select{
  border:1px solid #d8e0ea!important;
  background:rgba(255,255,255,.92)!important;
  color:#111827!important;
  border-radius:13px!important;
}
select option{background:#fff!important;color:#111827!important}
input::placeholder,textarea::placeholder{color:#94a3b8!important}
.toolbar input:focus,.toolbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.login-panel input:focus,.review-card input:focus,.review-card select:focus,.review-card textarea:focus,.inline-field:focus{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 4px rgba(59,130,246,.12)!important;
  outline:none!important;
}
.primary{
  color:#fff!important;
  font-weight:800;
  background:linear-gradient(180deg,#1f2937,#111827)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.18)!important;
}
.secondary,.icon-btn,.notify-btn,.danger-btn{
  color:#334155!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(203,213,225,.92)!important;
}
.danger-btn{color:#b42318!important}
.sync-badge{display:none!important}
.table-scroll-top{background:#eef3f8!important;border-bottom:1px solid #e2e8f0!important}
.table-wrap table{background:transparent!important}
th,td{border-bottom:1px solid #e7edf5!important}
th{
  background:#f8fafc!important;
  color:#64748b!important;
}
td{color:#1f2937!important}
tr:hover td{background:#f8fbff!important}
.date-gap-row td{
  background:#f1f5f9!important;
  color:#334155!important;
  border-top:14px solid transparent!important;
  border-bottom:1px solid #e2e8f0!important;
}
.date-gap-row span{background:#fff!important;color:#334155!important;border:1px solid #e2e8f0!important}
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray{
  background:transparent!important;
  color:#1f2937!important;
}
.table-wrap table tbody tr:hover td.cell-key,
.table-wrap table tbody tr:hover td.cell-identity,
.table-wrap table tbody tr:hover td.cell-assign,
.table-wrap table tbody tr:hover td.cell-type,
.table-wrap table tbody tr:hover td.cell-amount,
.table-wrap table tbody tr:hover td.cell-tone-green,
.table-wrap table tbody tr:hover td.cell-tone-amber,
.table-wrap table tbody tr:hover td.cell-tone-orange,
.table-wrap table tbody tr:hover td.cell-tone-red,
.table-wrap table tbody tr:hover td.cell-tone-blue,
.table-wrap table tbody tr:hover td.cell-tone-gray{
  background:#f8fbff!important;
}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field,
.table-wrap table tbody td.cell-tone-green .inline-field,
.table-wrap table tbody td.cell-tone-amber .inline-field,
.table-wrap table tbody td.cell-tone-orange .inline-field,
.table-wrap table tbody td.cell-tone-red .inline-field,
.table-wrap table tbody td.cell-tone-blue .inline-field,
.table-wrap table tbody td.cell-tone-gray .inline-field{
  background:#fff!important;
  border-color:#d8e0ea!important;
  color:#111827!important;
  box-shadow:none!important;
}
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){
  color:#8a5205!important;
  font-weight:800;
}
.table-wrap table tbody td.cell-amount .inline-field{
  color:#8a5205!important;
  background:#fffaf0!important;
  border-color:#f0cf8a!important;
}
.table-wrap table thead th.col-studentNo,
.table-wrap table thead th.col-name,
.table-wrap table thead th.col-teacherId,
.table-wrap table thead th.col-mainTeacherId,
.table-wrap table thead th.col-salesperson,
.table-wrap table thead th.col-owner,
.table-wrap table thead th.col-serviceMode,
.table-wrap table thead th.col-servicePackage,
.table-wrap table thead th.col-type,
.table-wrap table thead th.col-channel,
.table-wrap table thead th.col-status,
.table-wrap table thead th.col-stage,
.table-wrap table thead th.col-studentStage,
.table-wrap table thead th.col-outcome,
.table-wrap table thead th.col-emotion,
.table-wrap table thead th.col-severity,
.table-wrap table thead th.col-passed,
.table-wrap table thead th.col-intentLevel,
.table-wrap table thead th.col-ordered,
.table-wrap table thead th.col-paidAmount,
.table-wrap table thead th.col-contractAmount,
.table-wrap table thead th.col-refundAmount,
.table-wrap table thead th.col-amount,
.table-wrap table thead th.col-fee,
.table-wrap table thead th.col-orderAmount,
.table-wrap table thead th.col-riskNote,
.table-wrap table thead th.col-reason,
.table-wrap table thead th.col-issue{
  background:#f8fafc!important;
  color:#64748b!important;
}
.tag{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  height:25px;
  border-radius:999px!important;
  border:1px solid #d8e0ea!important;
  background:#fff!important;
  color:#475569!important;
  font-weight:700;
}
.tag::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#94a3b8;
  box-shadow:none!important;
}
.tag.green{color:#15835c!important;background:#f1faf6!important;border-color:#bfe3d5!important}
.tag.green::before{background:#22a06b!important}
.tag.amber,.tag.orange{color:#9a6700!important;background:#fff8e6!important;border-color:#ead08e!important}
.tag.amber::before,.tag.orange::before{background:#d99706!important}
.tag.red{color:#b42318!important;background:#fff1f1!important;border-color:#efb4b4!important}
.tag.red::before{background:#d92d20!important}
.tag.blue{color:#2563eb!important;background:#eff6ff!important;border-color:#bdd7ef!important}
.tag.blue::before{background:#3b82f6!important}
.tag.gray{color:#66727f!important;background:#f5f7fa!important;border-color:#d1d7de!important}
.count-pill,.offer-pill-readonly{
  background:#f8fafc!important;
  color:#334155!important;
  border:1px solid #e2e8f0!important;
}
.link-btn,.action{color:#2563eb!important}
.danger-text,.danger-link,.delete{color:#b42318!important}
.modal{background:rgba(15,23,42,.38)!important}
.modal-card{border-radius:24px!important}
.modal-head{color:#111827!important}
.toast{background:#111827!important;color:#fff!important;border-radius:14px!important}
.empty{color:#94a3b8!important}
.watermark-layer span{color:rgba(15,23,42,.035)!important}
.review-suggest{background:#fff!important;border-color:#d8e0ea!important}
.review-suggest button,.review-option{background:#fff!important;color:#111827!important}
.review-suggest button:hover{background:#f8fafc!important}
.offer-card,.offer-case-card{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,252,.86))!important;
  border-color:#e2e8f0!important;
}
.offer-card-head,.offer-case-head,.offer-foot{background:transparent!important;border-color:#e2e8f0!important}
.offer-avatar{background:#eef3f8!important;color:#334155!important}
.offer-student h2,.offer-company strong,.offer-case-company strong{color:#111827!important}
.offer-company span,.offer-foot,.offer-meta span,.offer-highlight span{color:#64748b!important}
.offer-meta div,.offer-case-meta div,.offer-highlight{background:#f8fafc!important;border-color:#e2e8f0!important}
.offer-highlight{border-left-color:#93c5fd!important}
.offer-highlight p{color:#1f2937!important}
.salary-text,.salary-text .offer-edit{color:#8a5205!important}
.drop-upload,.rate-grid{
  background:#f8fafc!important;
  border-color:#d8e0ea!important;
  color:#1f2937!important;
}
.drop-title{color:#111827!important}
.drop-sub,.field-tip,.muted{color:#64748b!important}
@media(max-width:720px){
  .app{padding:0!important}
  aside{position:static!important;width:100%!important;height:auto!important;border-radius:0 0 24px 24px!important}
  header{border-radius:0!important}
  #content{padding:14px!important}
}

/* 20260712 comfort light v4: final override appended after all older skins. */
:root{
  --bg:#edf2f6;
  --line:#d8e1eb;
  --text:#172033;
  --muted:#6f7c8d;
  --green:#147a56;
  --amber:#9b6506;
  --red:#b42318;
  --blue:#245fbd;
  --shadow:0 18px 42px rgba(40,55,78,.10);
}
body,.login-shell,.review-page{
  background:linear-gradient(180deg,#f1f5f9 0%,#edf2f6 48%,#e7edf4 100%)!important;
  color:#172033!important;
}
body::before{
  background:
    radial-gradient(circle at 16% 8%,rgba(255,255,255,.44),transparent 26%),
    radial-gradient(circle at 88% 0%,rgba(214,226,241,.48),transparent 30%)!important;
}
aside,header,.card,.panel,.login-panel,.review-card,.modal-card{
  border-color:rgba(213,222,233,.96)!important;
  background:linear-gradient(145deg,rgba(250,252,255,.88),rgba(240,245,250,.78))!important;
  color:#172033!important;
  box-shadow:0 16px 40px rgba(39,55,79,.09)!important;
  backdrop-filter:blur(22px) saturate(145%);
}
aside,header{border-radius:28px!important}
.card,.panel,.login-panel,.review-card,.modal-card{border-radius:24px!important}
.side-brand strong,header h1,.metric strong,.panel-head h2,.login-panel h1,.review-card h1{color:#121a2a!important}
.side-brand small,header p,.metric span,.login-panel p,.review-card p,.muted,.field-tip{color:#6f7c8d!important}
nav button{color:#48566a!important;border-radius:16px!important}
nav button:hover,nav button.active{
  color:#121a2a!important;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(235,241,248,.72))!important;
  box-shadow:inset 0 0 0 1px rgba(203,213,225,.88),0 10px 22px rgba(35,50,72,.06)!important;
}
.toolbar,.filter-grid,.filter-bar,.teacher-quick,.note{
  border-color:rgba(213,222,233,.96)!important;
  background:rgba(246,249,252,.78)!important;
  box-shadow:0 10px 26px rgba(39,55,79,.06)!important;
  border-radius:22px!important;
}
.toolbar input,.toolbar select,.filter-grid select,.form-grid input,.form-grid select,.form-grid textarea,
.login-panel input,.review-card input,.review-card select,.review-card textarea,.inline-field,.offer-edit,.offer-toolbar input,.offer-toolbar select{
  min-height:34px;
  border:1px solid #d6e0eb!important;
  background:rgba(248,250,252,.86)!important;
  color:#172033!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.inline-field{
  height:34px;
  padding:6px 9px!important;
  line-height:20px!important;
  vertical-align:middle;
}
select.inline-field{padding-right:24px!important}
.primary{
  color:#fff!important;
  background:linear-gradient(180deg,#263245,#172033)!important;
  box-shadow:0 12px 24px rgba(23,32,51,.16)!important;
}
.secondary,.icon-btn,.notify-btn,.danger-btn{
  color:#334155!important;
  background:rgba(248,250,252,.82)!important;
  border:1px solid #d8e1eb!important;
  box-shadow:none!important;
}
.table-scroll-top{background:#e9eff5!important;border-bottom:1px solid #dbe3ec!important}
.table-wrap table{border-collapse:separate!important;border-spacing:0!important;background:transparent!important}
th{background:#eef3f8!important;color:#66758a!important;border-bottom:1px solid #dbe3ec!important}
td{color:#172033!important;border-bottom:1px solid #dfe7ef!important;background:transparent!important}
tr:hover td{background:rgba(248,251,255,.62)!important}
.table-wrap table tbody td.cell-key,
.table-wrap table tbody td.cell-identity,
.table-wrap table tbody td.cell-assign,
.table-wrap table tbody td.cell-type,
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-tone-green,
.table-wrap table tbody td.cell-tone-amber,
.table-wrap table tbody td.cell-tone-orange,
.table-wrap table tbody td.cell-tone-red,
.table-wrap table tbody td.cell-tone-blue,
.table-wrap table tbody td.cell-tone-gray,
.table-wrap table tbody tr:hover td.cell-key,
.table-wrap table tbody tr:hover td.cell-identity,
.table-wrap table tbody tr:hover td.cell-assign,
.table-wrap table tbody tr:hover td.cell-type,
.table-wrap table tbody tr:hover td.cell-amount,
.table-wrap table tbody tr:hover td.cell-tone-green,
.table-wrap table tbody tr:hover td.cell-tone-amber,
.table-wrap table tbody tr:hover td.cell-tone-orange,
.table-wrap table tbody tr:hover td.cell-tone-red,
.table-wrap table tbody tr:hover td.cell-tone-blue,
.table-wrap table tbody tr:hover td.cell-tone-gray{
  background:transparent!important;
  border-left:0!important;
  box-shadow:none!important;
}
.table-wrap table tbody tr:hover td{background:rgba(248,251,255,.62)!important}
.table-wrap table tbody td.cell-key .inline-field,
.table-wrap table tbody td.cell-identity .inline-field,
.table-wrap table tbody td.cell-assign .inline-field,
.table-wrap table tbody td.cell-type .inline-field{
  background:rgba(248,250,252,.86)!important;
  border-color:#d6e0eb!important;
  color:#172033!important;
  font-weight:700!important;
}
.table-wrap table tbody td.cell-tone-green .inline-field{background:#eef8f3!important;border-color:#b8dccb!important;color:#147a56!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-amber .inline-field,
.table-wrap table tbody td.cell-tone-orange .inline-field{background:#fff7e8!important;border-color:#e9c982!important;color:#9b6506!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-red .inline-field{background:#fff1f0!important;border-color:#efb1aa!important;color:#b42318!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-blue .inline-field{background:#eff6ff!important;border-color:#bad2f2!important;color:#245fbd!important;font-weight:800!important}
.table-wrap table tbody td.cell-tone-gray .inline-field{background:#f0f3f6!important;border-color:#ccd6e1!important;color:#66758a!important;font-weight:800!important}
.table-wrap table tbody td.cell-amount,
.table-wrap table tbody td.cell-amount:not(:has(.inline-field)){color:#8b5e12!important;font-weight:800!important}
.table-wrap table tbody td.cell-amount .inline-field{background:#fff8ea!important;border-color:#e8c77c!important;color:#8b5e12!important;font-weight:800!important}
.date-gap-row td{
  background:#e8eef5!important;
  color:#334155!important;
  border-top:12px solid #edf2f6!important;
  border-bottom:1px solid #d9e2ec!important;
}
.date-gap-row span{background:rgba(248,250,252,.86)!important;color:#334155!important;border:1px solid #d6e0eb!important}
.tag{background:#f2f5f8!important;color:#475569!important;border:1px solid #d7e0ea!important}
.tag.green{background:#eef8f3!important;color:#147a56!important;border-color:#b8dccb!important}
.tag.amber,.tag.orange{background:#fff7e8!important;color:#9b6506!important;border-color:#e9c982!important}
.tag.red{background:#fff1f0!important;color:#b42318!important;border-color:#efb1aa!important}
.tag.blue{background:#eff6ff!important;color:#245fbd!important;border-color:#bad2f2!important}
.tag.gray{background:#f0f3f6!important;color:#66758a!important;border-color:#ccd6e1!important}
.offer-card,.offer-case-card{background:linear-gradient(145deg,rgba(250,252,255,.90),rgba(240,245,250,.80))!important;border-color:#dbe3ec!important}
.offer-meta div,.offer-case-meta div,.offer-highlight,.drop-upload,.rate-grid{background:#f2f6fa!important;border-color:#d8e1eb!important}
.watermark-layer span{color:rgba(23,32,51,.03)!important}
@media(max-width:720px){
  .app{padding:0!important}
  aside{position:static!important;width:100%!important;height:auto!important;border-radius:0 0 24px 24px!important}
  header{border-radius:0!important}
  #content{padding:14px!important}
}

/* 20260712 Offer polish v3 final append: highest priority for Offer library cards. */
.offer-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;align-items:start!important}
.offer-card.offer-case-card{position:relative!important;overflow:hidden!important;border:1px solid rgba(200,212,226,.96)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(252,254,255,.96),rgba(235,242,249,.82))!important;box-shadow:0 18px 38px rgba(48,66,92,.12)!important}
.offer-card.offer-case-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1f2937,#8aa7c7,#d9b56f);opacity:.9}
.offer-case-head{padding:18px 18px 14px!important;border-bottom:1px solid #dbe5ef!important;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(242,247,252,.58))!important}
.offer-student{gap:13px!important;align-items:center!important}.offer-avatar{width:54px!important;height:54px!important;border-radius:15px!important;background:linear-gradient(145deg,#e8f0f8,#f8fbff)!important;color:#162033!important;font-size:21px!important;font-weight:900!important;box-shadow:inset 0 0 0 1px rgba(199,211,224,.9),0 10px 20px rgba(42,59,84,.08)!important}
.offer-name-box{display:grid!important;gap:4px!important;min-width:0!important}.offer-name-title{margin:0!important;line-height:1.1!important}.offer-name-btn,.offer-name-readonly{display:grid!important;gap:3px!important;color:#111827!important;text-align:left!important}.offer-name-main{display:block!important;font-size:23px!important;line-height:1.05!important;font-weight:900!important;letter-spacing:0!important;color:#172033!important}.offer-name-tip{display:block!important;font-size:12px!important;line-height:1.2!important;font-weight:700!important;color:#748294!important}.offer-name-btn:hover .offer-name-main{color:#245fbd!important}
.offer-date-line{color:#5f6f82!important;font-size:12px!important;gap:8px!important}.offer-date-line span{display:inline-flex!important;align-items:center!important;min-height:22px!important}.offer-date-inline{width:118px!important;min-height:22px!important;height:22px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#334155!important;padding:0 3px!important;box-shadow:none!important}
.offer-status-badge{min-height:28px!important;padding:0 12px!important;border-radius:999px!important;background:#e8f6ef!important;color:#08734d!important;border:1px solid #b9dfcd!important;font-weight:900!important}.offer-case-company{padding:18px 18px 8px!important;display:grid!important;gap:8px!important}.offer-company-name,.offer-case-company strong{display:block!important;font-size:31px!important;line-height:1.05!important;color:#101827!important;font-weight:950!important}.offer-company-name .offer-edit,.offer-case-company strong .offer-edit{font-size:31px!important;font-weight:950!important;color:#101827!important;background:rgba(255,255,255,.68)!important}
.offer-target{justify-self:start!important;min-height:28px!important;padding:4px 11px!important;border-radius:999px!important;background:#edf4fb!important;color:#40536a!important;border:1px solid #d7e2ee!important;font-size:13px!important;font-weight:800!important}.offer-target .offer-edit{min-height:22px!important;height:24px!important;padding:1px 4px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#40536a!important;font-weight:800!important}
.offer-case-meta{padding:10px 18px 14px!important;gap:9px!important}.offer-case-meta div{border-radius:13px!important;background:rgba(248,251,255,.78)!important;border-color:#d8e3ee!important;padding:12px!important}.offer-case-meta span{color:#738197!important;font-size:12px!important;font-weight:700!important}.offer-case-meta b{display:block!important;margin-top:5px!important;color:#172033!important;font-size:15px!important;line-height:1.35!important}.offer-meta-salary{background:linear-gradient(145deg,#fffaf0,#fff4db)!important;border-color:#e8c77c!important}.salary-text,.salary-text .offer-edit{color:#8b5e12!important;font-weight:950!important}
.offer-highlight{margin:2px 18px 16px!important;padding:14px 15px!important;border-radius:14px!important;border:1px solid #d7e3ee!important;border-left:4px solid #245fbd!important;background:linear-gradient(145deg,rgba(245,249,253,.92),rgba(235,242,249,.82))!important}.offer-highlight span{color:#52657b!important;font-weight:900!important}.offer-highlight p{color:#182235!important;font-size:14px!important;line-height:1.75!important}.offer-foot{padding:13px 18px!important;background:rgba(244,248,252,.74)!important;border-top:1px solid #dbe5ef!important}.offer-foot span{color:#607187!important;font-weight:700!important}.offer-view-only{display:inline-flex!important;align-items:center!important;min-height:26px!important;padding:0 10px!important;border-radius:999px!important;background:#eef3f8!important;color:#66758a!important;border:1px solid #d8e1eb!important;font-size:12px!important;font-weight:800!important}
.offer-sales-card .offer-name-main{font-size:22px!important}.offer-sales-card .offer-case-company strong,.offer-sales-card .offer-company-name{font-size:25px!important}.offer-sales-card .offer-highlight{border-left-color:#9bb5d5!important}
@media(max-width:720px){.offer-grid{grid-template-columns:1fr!important}.offer-company-name,.offer-case-company strong,.offer-company-name .offer-edit,.offer-case-company strong .offer-edit{font-size:25px!important}.offer-name-main{font-size:21px!important}}

/* 20260712 Offer polish v4: center key text fields inside Offer cards. */
.offer-case-company,
.offer-company-name,
.offer-case-company strong,
.offer-company-name .offer-edit,
.offer-case-company strong .offer-edit{
  text-align:center!important;
}
.offer-company-name,
.offer-case-company strong{
  justify-self:stretch!important;
}
.offer-target{
  justify-self:center!important;
  text-align:center!important;
}
.offer-target .offer-edit{
  text-align:center!important;
}

/* 20260712 Offer flat v1: no nested blocks inside case card. */
.offer-card.offer-case-card::before{
  display:none!important;
}
.offer-card.offer-case-card{
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(252,254,255,.94),rgba(239,245,251,.82))!important;
}
.offer-case-head{
  padding:18px 18px 12px!important;
  border-bottom:1px solid #dce6ef!important;
}
.offer-case-company{
  padding:18px 20px 10px!important;
  gap:8px!important;
}
.offer-company-name,
.offer-case-company strong{
  font-size:30px!important;
  text-align:center!important;
}
.offer-company-name .offer-edit,
.offer-case-company strong .offer-edit{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center!important;
}
.offer-company-name .offer-edit:hover,
.offer-company-name .offer-edit:focus,
.offer-case-company strong .offer-edit:hover,
.offer-case-company strong .offer-edit:focus{
  border-color:#d6e0eb!important;
  background:rgba(255,255,255,.72)!important;
}
.offer-target{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#40536a!important;
}
.offer-target .offer-edit{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:22px!important;
  height:22px!important;
  font-size:14px!important;
}
.offer-target .offer-edit:hover,
.offer-target .offer-edit:focus{
  border-bottom:1px solid #cfdbe7!important;
}
.offer-case-meta{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  padding:6px 20px 12px!important;
  border-top:1px solid #e2eaf2!important;
  border-bottom:1px solid #e2eaf2!important;
}
.offer-case-meta div,
.offer-meta-salary{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:11px 6px!important;
  box-shadow:none!important;
}
.offer-case-meta div:nth-child(odd){
  border-right:1px solid #e2eaf2!important;
  padding-right:16px!important;
}
.offer-case-meta div:nth-child(even){
  padding-left:16px!important;
}
.offer-case-meta div:nth-child(1),
.offer-case-meta div:nth-child(2){
  border-bottom:1px solid #e2eaf2!important;
}
.offer-case-meta span{
  color:#7a8798!important;
  font-size:12px!important;
  font-weight:700!important;
}
.offer-case-meta b{
  margin-top:4px!important;
  font-size:15px!important;
  font-weight:850!important;
}
.offer-case-meta .offer-edit,
.offer-case-meta .offer-select{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  padding-left:0!important;
}
.offer-case-meta .offer-edit:hover,
.offer-case-meta .offer-edit:focus,
.offer-case-meta .offer-select:hover,
.offer-case-meta .offer-select:focus{
  border-color:#d6e0eb!important;
  background:rgba(255,255,255,.65)!important;
  padding-left:8px!important;
}
.offer-highlight{
  margin:14px 20px 16px!important;
  border-radius:12px!important;
  background:rgba(246,250,253,.72)!important;
}

/* 20260713 mobile table fix: keep editable cells from overlapping on phones. */
@media(max-width:720px){
  .toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .search-group{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    min-width:0!important;
    width:100%!important;
  }
  .search-group input{
    min-width:0!important;
    width:100%!important;
  }
  .toolbar>div:last-child{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important;
  }
  .filter-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding:12px!important;
    align-items:end!important;
  }
  .filter-grid label,
  .filter-grid select,
  .filter-grid button{
    min-width:0!important;
    width:100%!important;
  }
  .table-scroll-shell{
    overflow:visible!important;
  }
  .table-wrap{
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .table-wrap table{
    width:max-content!important;
    min-width:980px!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
  }
  .table-scroll-top{
    display:block!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  th,td{
    padding:9px 8px!important;
    overflow:hidden!important;
  }
  .inline-field{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:38px!important;
    padding:7px 10px!important;
    font-size:14px!important;
    line-height:22px!important;
    white-space:nowrap!important;
  }
  select.inline-field{
    padding-right:26px!important;
  }
  .col-actions,.col-delete{width:60px!important;min-width:60px!important;max-width:60px!important}
  .col-trafficLeads-time{width:146px!important;min-width:146px!important;max-width:146px!important}
  .col-trafficLeads-channel{width:122px!important;min-width:122px!important;max-width:122px!important}
  .col-trafficLeads-operator{width:116px!important;min-width:116px!important;max-width:116px!important}
  .col-trafficLeads-wechat{width:154px!important;min-width:154px!important;max-width:154px!important}
  .col-trafficLeads-notes{width:150px!important;min-width:150px!important;max-width:150px!important}
  .col-trafficLeads-salesperson{width:116px!important;min-width:116px!important;max-width:116px!important}
  .col-trafficLeads-passed,.col-trafficLeads-intentLevel,.col-trafficLeads-followedUp,.col-trafficLeads-ordered{width:108px!important;min-width:108px!important;max-width:108px!important}
  .col-trafficLeads-customerJudgment{width:210px!important;min-width:210px!important;max-width:210px!important}
  .col-trafficLeads-orderAmount{width:118px!important;min-width:118px!important;max-width:118px!important}
  .date-gap-row td{
    overflow:visible!important;
  }
}

/* 20260716 review showcase: card-only iOS style, no left list. */
.review-card-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(330px,420px))!important;
  gap:18px!important;
  align-items:start!important;
}
.review-card-grid .review-poster{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  border-radius:26px!important;
  border:1px solid rgba(190,205,220,.72)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,248,252,.84))!important;
  box-shadow:0 18px 46px rgba(25,42,62,.12), inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(22px)!important;
  overflow:hidden!important;
}
.review-card-grid .review-poster-hero{
  min-height:auto!important;
  padding:20px 22px 18px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(239,246,255,.72)),
    radial-gradient(circle at 82% 12%,rgba(94,129,255,.16),transparent 34%)!important;
  border-bottom:1px solid rgba(207,219,232,.75)!important;
}
.review-card-grid .review-poster-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:20px!important;
}
.review-card-grid .review-poster-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#53647a!important;
  font-size:12px!important;
  font-weight:850!important;
}
.review-card-grid .review-poster-brand b{
  width:27px!important;
  height:27px!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#5d7cff,#7aa6ff)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(81,119,255,.22)!important;
}
.review-card-grid .review-poster-date{
  position:static!important;
  width:auto!important;
  min-height:0!important;
  padding:7px 11px!important;
  border-radius:14px!important;
  background:#111827!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(17,24,39,.18)!important;
  display:grid!important;
  place-items:center!important;
  gap:1px!important;
}
.review-card-grid .review-poster-date span{
  font-size:10px!important;
  opacity:.65!important;
}
.review-card-grid .review-poster-date strong{
  font-size:17px!important;
  line-height:1!important;
}
.review-card-grid .review-poster-title{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
.review-card-grid .review-avatar{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.86)!important;
  color:#315ff0!important;
  font-size:27px!important;
  box-shadow:0 12px 28px rgba(49,95,240,.16)!important;
}
.review-card-grid .review-poster-title h2{
  margin:0!important;
  font-size:20px!important;
  line-height:1.25!important;
  color:#172033!important;
  overflow-wrap:anywhere!important;
}
.review-card-grid .review-poster-title p{
  display:block!important;
  margin:6px 0 0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:750!important;
}
.review-card-grid .review-poster-info{
  display:none!important;
}
.review-card-grid .review-poster-quote{
  padding:18px 22px 20px!important;
}
.review-card-grid .review-poster-quote>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.review-card-grid .review-poster-quote strong{
  font-size:15px!important;
  font-weight:900!important;
  color:#111827!important;
}
.review-card-grid .review-poster-quote .link-btn{
  font-size:12px!important;
  color:#315ff0!important;
  font-weight:850!important;
}
.review-card-grid .review-poster-quote blockquote{
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(203,213,225,.75)!important;
  border-left:3px solid #6d8dff!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  color:#243144!important;
  font-size:15px!important;
  line-height:1.75!important;
  font-weight:650!important;
  white-space:pre-wrap!important;
}
.review-card-grid .review-poster-foot{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 22px 20px!important;
  background:transparent!important;
  color:#64748b!important;
  border:0!important;
  font-size:12px!important;
  font-weight:800!important;
}
@media(max-width:720px){
  .review-card-grid{
    grid-template-columns:1fr!important;
  }
}

/* FINAL 20260716: 好评案例库筛选栏最终覆盖，必须放在文件底部。 */
.review-case-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) 190px!important;
  gap:12px!important;
  align-items:center!important;
  margin:0 0 16px!important;
  padding:10px!important;
  border:1px solid rgba(199,211,224,.74)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 14px 34px rgba(25,42,62,.08),inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.review-case-toolbar input,
.review-case-toolbar select{
  width:100%!important;
  height:38px!important;
  min-width:0!important;
  border:1px solid rgba(207,219,232,.8)!important;
  border-radius:16px!important;
  background:rgba(248,251,255,.88)!important;
  color:#172033!important;
  padding:0 14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  outline:none!important;
}
.review-case-toolbar input:focus,
.review-case-toolbar select:focus{
  border-color:rgba(109,141,255,.72)!important;
  box-shadow:0 0 0 4px rgba(109,141,255,.12),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.review-case-toolbar select{
  appearance:auto!important;
}
.login-panel .primary.login-busy{
  opacity:.82!important;
  cursor:default!important;
}
@media(max-width:720px){
  .review-case-toolbar{
    grid-template-columns:1fr!important;
  }
}

/* FINAL 20260716: 好评案例库筛选栏 iOS 化，避免原生输入框外观。 */
.review-case-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) 190px!important;
  gap:12px!important;
  align-items:center!important;
  margin:0 0 16px!important;
  padding:10px!important;
  border:1px solid rgba(199,211,224,.74)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 14px 34px rgba(25,42,62,.08),inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.review-case-toolbar input,
.review-case-toolbar select{
  width:100%!important;
  height:38px!important;
  min-width:0!important;
  border:1px solid rgba(207,219,232,.8)!important;
  border-radius:16px!important;
  background:rgba(248,251,255,.88)!important;
  color:#172033!important;
  padding:0 14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  outline:none!important;
}
.review-case-toolbar input:focus,
.review-case-toolbar select:focus{
  border-color:rgba(109,141,255,.72)!important;
  box-shadow:0 0 0 4px rgba(109,141,255,.12),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.review-case-toolbar select{
  appearance:auto!important;
}
.login-panel .primary.login-busy{
  opacity:.82!important;
  cursor:default!important;
}
@media(max-width:720px){
  .review-case-toolbar{
    grid-template-columns:1fr!important;
  }
}

.beian-link{display:block;margin-top:12px;color:#6b7280!important;font-size:12px;text-decoration:none;line-height:1.5}.beian-link:hover{text-decoration:underline}.login-beian,.review-beian{text-align:center}.side-beian{margin:8px 0 2px;color:#94a3b8!important}@media(max-width:720px){.side-beian{margin:0;font-size:11px}}

/* 20260716 student target: compact job direction column with full-content popup. */
.col-target,
.col-students-target{
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  overflow:hidden!important;
}
td.col-target,
td.col-students-target{
  padding-left:8px!important;
  padding-right:8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.target-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  height:30px;
  padding:0 8px 0 10px;
  border:1px solid #cfe0f2;
  border-radius:9px;
  background:#f6fbff;
  color:#245f99;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
  min-width:0;
}
.target-pill::after{
  content:"⌄";
  flex:0 0 auto;
  margin-left:4px;
  font-size:11px;
  color:#6d8fb0;
}
.target-pill:hover{
  border-color:#9fc5ee;
  background:#eef7ff;
}

/* 20260716 review showcase: promotional cards from completed followup reviews. */
.review-case-toolbar{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:14px;
}
.review-case-toolbar input{
  flex:1;
  min-width:260px;
}
.review-case-toolbar select{
  width:180px;
}
.review-case-layout{
  display:grid;
  grid-template-columns:minmax(300px,390px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.review-case-list{
  padding:0!important;
  overflow:hidden;
}
.review-case-list .panel-head{
  padding:16px 18px 10px;
}
.review-case-item{
  width:100%;
  display:block;
  text-align:left;
  border:0;
  border-top:1px solid #e8edf3;
  background:transparent;
  padding:15px 18px;
  color:#1f2937;
  cursor:pointer;
}
.review-case-item:hover,
.review-case-item.active{
  background:linear-gradient(90deg,rgba(79,120,255,.09),rgba(255,255,255,.7));
}
.review-case-item.active{
  box-shadow:inset 3px 0 0 #4f78ff;
}
.review-case-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.review-case-row strong{
  font-size:15px;
  font-weight:850;
}
.review-case-row span{
  color:#2f6fed;
  font-size:12px;
  font-weight:800;
  background:#eef4ff;
  border-radius:999px;
  padding:4px 8px;
  white-space:nowrap;
}
.review-case-date{
  display:inline-flex;
  margin-top:8px;
  padding:5px 9px;
  border-radius:9px;
  background:#111827;
  color:#fff;
  font-size:13px;
  font-weight:850;
  letter-spacing:.2px;
}
.review-case-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.review-case-tags em{
  font-style:normal;
  color:#58677a;
  background:#f5f7fa;
  border:1px solid #e3e9f1;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
}
.review-case-item p{
  margin:10px 0 0;
  color:#596579;
  font-size:13px;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.review-case-detail{
  padding:0!important;
  overflow:hidden;
}
.review-poster{
  background:linear-gradient(145deg,#ffffff 0%,#f7faff 56%,#eef4ff 100%);
  color:#1c2636;
}
.review-poster-hero{
  position:relative;
  min-height:190px;
  padding:26px 30px 28px;
  background:
    radial-gradient(circle at 14% 0%,rgba(79,120,255,.17),transparent 32%),
    linear-gradient(135deg,#f9fbff,#eef5ff 66%,#e7f0ff);
  border-bottom:1px solid #dfe8f5;
}
.review-poster-date{
  position:absolute;
  top:24px;
  right:26px;
  width:106px;
  min-height:86px;
  border-radius:22px;
  background:#101828;
  color:#fff;
  box-shadow:0 18px 36px rgba(16,24,40,.2);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:2px;
}
.review-poster-date span{
  font-size:13px;
  font-weight:700;
  opacity:.68;
}
.review-poster-date strong{
  font-size:27px;
  line-height:1;
  font-weight:900;
}
.review-poster-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#40516b;
  font-weight:850;
}
.review-poster-brand b{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:10px;
  background:#4f78ff;
  color:#fff;
}
.review-poster-title{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:44px;
  padding-right:120px;
}
.review-avatar{
  flex:0 0 auto;
  width:70px;
  height:70px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#315ff0;
  font-size:34px;
  font-weight:900;
  box-shadow:0 16px 34px rgba(79,120,255,.22);
}
.review-poster-title h2{
  margin:0;
  font-size:28px;
  line-height:1.25;
  letter-spacing:0;
}
.review-poster-info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid #e0e8f3;
}
.review-poster-info div{
  padding:18px 22px;
  border-right:1px solid #e0e8f3;
}
.review-poster-info div:last-child{
  border-right:0;
}
.review-poster-info span{
  display:block;
  color:#7b8798;
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
}
.review-poster-info b{
  font-size:16px;
  font-weight:900;
}
.review-poster-quote{
  padding:26px 30px;
}
.review-poster-quote>div{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.review-poster-quote strong{
  font-size:20px;
  font-weight:900;
}
.review-poster-quote span{
  color:#8a95a5;
  font-size:13px;
  font-weight:750;
}
.review-poster-quote blockquote{
  margin:0;
  padding:0;
  color:#243144;
  font-size:18px;
  line-height:1.85;
  font-weight:650;
  white-space:pre-wrap;
}
.review-poster-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:18px 30px 24px;
  border-top:1px solid #e0e8f3;
}
.review-poster-foot strong,
.review-poster-foot small{
  display:block;
}
.review-poster-foot strong{
  font-size:15px;
  font-weight:900;
}
.review-poster-foot small{
  margin-top:5px;
  color:#7b8798;
}
@media(max-width:900px){
  .review-case-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .review-case-toolbar{
    display:grid;
    grid-template-columns:1fr;
  }
  .review-case-toolbar input,
  .review-case-toolbar select{
    min-width:0;
    width:100%;
  }
  .review-poster-hero{
    padding:20px;
  }
  .review-poster-date{
    position:static;
    width:100%;
    min-height:66px;
    margin-bottom:16px;
    border-radius:18px;
  }
  .review-poster-title{
    margin-top:24px;
    padding-right:0;
  }
  .review-avatar{
    width:58px;
    height:58px;
    border-radius:20px;
    font-size:28px;
  }
  .review-poster-title h2{
    font-size:22px;
  }
  .review-poster-info{
    grid-template-columns:1fr;
  }
  .review-poster-info div{
    border-right:0;
    border-bottom:1px solid #e0e8f3;
  }
  .review-poster-info div:last-child{
    border-bottom:0;
  }
  .review-poster-quote,
  .review-poster-foot{
    padding-left:20px;
    padding-right:20px;
  }
  .review-poster-quote blockquote{
    font-size:16px;
  }
  .review-poster-foot{
    display:grid;
  }
}

/* 20260716 review showcase vertical poster: mobile screenshot friendly. */
.review-case-layout{
  grid-template-columns:minmax(300px,360px) minmax(440px,480px)!important;
  justify-content:start!important;
  align-items:start!important;
}
.review-case-detail{
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  order:2!important;
  }
.review-case-list{
  order:1!important;
}
.review-poster{
  width:100%!important;
  max-width:480px!important;
  min-height:0!important;
  border-radius:22px!important;
  border:1px solid rgba(202,214,226,.86)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,248,252,.94))!important;
  box-shadow:0 28px 80px rgba(31,47,70,.16)!important;
  overflow:hidden!important;
}
.review-poster-hero{
  min-height:auto!important;
  padding:22px 24px 24px!important;
  background:
    radial-gradient(circle at 12% 14%,rgba(79,120,255,.16),transparent 30%),
    linear-gradient(145deg,#f7fbff,#eef5ff 72%,#ffffff)!important;
}
.review-poster-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:28px!important;
}
.review-poster-date{
  position:static!important;
  flex:0 0 auto!important;
  width:86px!important;
  min-height:72px!important;
  border-radius:20px!important;
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 18px 34px rgba(16,24,40,.22)!important;
}
.review-poster-date span{
  font-size:12px!important;
}
.review-poster-date strong{
  font-size:22px!important;
}
.review-poster-brand{
  min-width:0!important;
  align-items:center!important;
  color:#40516b!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.review-poster-brand b{
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
}
.review-poster-title{
  margin-top:0!important;
  padding-right:0!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  min-width:0!important;
}
.review-avatar{
  width:64px!important;
  height:64px!important;
  border-radius:20px!important;
  font-size:32px!important;
}
.review-poster-title h2{
  max-width:100%!important;
  font-size:25px!important;
  line-height:1.24!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.review-poster-info{
  grid-template-columns:repeat(3,1fr)!important;
  border-top:1px solid #e0e8f3!important;
}
.review-poster-info div{
  border-right:1px solid #e0e8f3!important;
  border-bottom:0!important;
  padding:14px 16px!important;
  min-width:0!important;
}
.review-poster-info div:last-child{
  border-right:0!important;
}
.review-poster-info span{
  margin-bottom:5px!important;
}
.review-poster-info b{
  font-size:14px!important;
  overflow-wrap:anywhere!important;
}
.review-poster-quote{
  padding:22px 24px 24px!important;
}
.review-poster-quote>div{
  align-items:center!important;
  margin-bottom:16px!important;
}
.review-poster-quote strong{
  font-size:17px!important;
}
.review-poster-quote span{
  background:#edf6ff!important;
  color:#2f6fed!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.review-poster-quote blockquote{
  padding:18px 20px!important;
  border-left:4px solid #4f78ff!important;
  border-radius:18px!important;
  background:rgba(246,250,253,.86)!important;
  font-size:16px!important;
  line-height:1.8!important;
  font-weight:650!important;
}
.review-poster-foot{
  display:grid!important;
  gap:14px!important;
  padding:16px 24px 18px!important;
  background:#101828!important;
  color:#d7e5f0!important;
  border-top:0!important;
}
.review-poster-foot strong{
  color:#fff!important;
}
.review-poster-foot small{
  color:#aebbd0!important;
}
.review-poster-foot .secondary{
  justify-self:start!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.review-poster-actions{
  display:none!important;
}
@media(max-width:980px){
  .review-case-layout{
    grid-template-columns:1fr!important;
  }
  .review-case-detail{
    display:block!important;
  }
}
@media(max-width:720px){
  .review-case-detail{
    order:1!important;
  }
  .review-case-list{
    order:2!important;
  }
  .review-case-detail{
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .review-poster{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    border-radius:24px!important;
  }
  .review-poster-top{
    margin-bottom:28px!important;
  }
  .review-poster-title{
    grid-template-columns:58px 1fr!important;
    gap:14px!important;
  }
  .review-avatar{
    width:58px!important;
    height:58px!important;
    font-size:28px!important;
  }
  .review-poster-title h2{
    font-size:21px!important;
  }
  .review-poster-info{
    grid-template-columns:1fr!important;
  }
  .review-poster-info div{
    border-right:0!important;
    border-bottom:1px solid #e0e8f3!important;
    padding:15px 22px!important;
  }
  .review-poster-info div:last-child{
    border-bottom:0!important;
  }
  .review-poster-quote{
    padding:24px 22px 28px!important;
  }
  .review-poster-quote blockquote{
    padding:18px!important;
    font-size:17px!important;
  }
  .review-poster-foot{
    padding:18px 22px 22px!important;
  }
  .review-poster-actions{
    width:100%!important;
  }
}

/* FINAL 20260716: 好评案例库只保留卡片墙，覆盖前面所有旧版左右布局样式。 */
.review-case-layout,
.review-case-list,
.review-case-detail{
  display:none!important;
}
.review-card-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(330px,420px))!important;
  gap:18px!important;
  align-items:start!important;
  justify-content:start!important;
}
.review-card-grid .review-poster{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  border-radius:26px!important;
  border:1px solid rgba(190,205,220,.72)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,248,252,.84))!important;
  box-shadow:0 18px 46px rgba(25,42,62,.12),inset 0 1px 0 rgba(255,255,255,.86)!important;
  overflow:hidden!important;
}
.review-card-grid .review-poster-hero{
  min-height:auto!important;
  padding:20px 22px 18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(239,246,255,.72)),radial-gradient(circle at 82% 12%,rgba(94,129,255,.16),transparent 34%)!important;
  border-bottom:1px solid rgba(207,219,232,.75)!important;
}
.review-card-grid .review-poster-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:20px!important;
}
.review-card-grid .review-poster-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#53647a!important;
  font-size:12px!important;
  font-weight:850!important;
}
.review-card-grid .review-poster-brand b{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#5d7cff,#7aa6ff)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(81,119,255,.22)!important;
}
.review-card-grid .review-poster-date{
  position:static!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-height:0!important;
  padding:7px 11px!important;
  border-radius:14px!important;
  background:#111827!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(17,24,39,.18)!important;
  display:grid!important;
  place-items:center!important;
  gap:1px!important;
}
.review-card-grid .review-poster-date span{
  font-size:10px!important;
  opacity:.65!important;
}
.review-card-grid .review-poster-date strong{
  font-size:17px!important;
  line-height:1!important;
}
.review-card-grid .review-poster-title{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
.review-card-grid .review-avatar{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.86)!important;
  color:#315ff0!important;
  font-size:27px!important;
  box-shadow:0 12px 28px rgba(49,95,240,.16)!important;
}
.review-card-grid .review-poster-title h2{
  margin:0!important;
  font-size:20px!important;
  line-height:1.25!important;
  color:#172033!important;
  overflow-wrap:anywhere!important;
}
.review-card-grid .review-poster-title p{
  display:block!important;
  margin:6px 0 0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:750!important;
}
.review-card-grid .review-poster-info{
  display:none!important;
}
.review-card-grid .review-poster-quote{
  padding:18px 22px 20px!important;
}
.review-card-grid .review-poster-quote>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.review-card-grid .review-poster-quote strong{
  font-size:15px!important;
  font-weight:900!important;
  color:#111827!important;
}
.review-card-grid .review-poster-quote .link-btn{
  font-size:12px!important;
  color:#315ff0!important;
  font-weight:850!important;
}
.review-card-grid .review-poster-quote blockquote{
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(203,213,225,.75)!important;
  border-left:3px solid #6d8dff!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  color:#243144!important;
  font-size:15px!important;
  line-height:1.75!important;
  font-weight:650!important;
  white-space:pre-wrap!important;
}
.review-card-grid .review-poster-foot{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 22px 20px!important;
  background:transparent!important;
  color:#64748b!important;
  border:0!important;
  font-size:12px!important;
  font-weight:800!important;
}
@media(max-width:720px){
  .review-card-grid{
    grid-template-columns:1fr!important;
  }
}


/* FINAL 20260716: 好评案例库筛选栏最终覆盖，必须放在文件底部。 */
.review-case-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(150px,210px)!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.review-case-control{
  height:42px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid rgba(205,216,228,.92)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,249,253,.84))!important;
  box-shadow:0 10px 24px rgba(38,54,78,.07),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.review-case-control span{
  color:#6b7788!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.review-case-toolbar .review-case-control input,
.review-case-toolbar .review-case-control select{
  width:100%!important;
  height:40px!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#172033!important;
  padding:0!important;
  box-shadow:none!important;
  outline:none!important;
  font-weight:700!important;
}
.review-case-toolbar .review-case-control input::placeholder{
  color:#9aa6b5!important;
  font-weight:650!important;
}
.review-case-toolbar .review-case-control:focus-within{
  border-color:rgba(92,121,238,.62)!important;
  box-shadow:0 0 0 4px rgba(92,121,238,.10),0 10px 24px rgba(38,54,78,.07)!important;
}
.review-case-toolbar .review-case-control select{appearance:auto!important;}
.login-panel .primary.login-busy{opacity:.86!important;cursor:default!important;}
@media(max-width:720px){.review-case-toolbar{grid-template-columns:1fr!important;}.review-case-control{height:44px!important;}}
tr.row-deleted td{background:#f1f3f5!important;color:#9aa3ad!important;text-decoration:line-through}tr.row-deleted:hover td{background:#edf0f2!important}tr.row-deleted td *{pointer-events:none!important;opacity:.72}.deleted-label{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#e4e8ec;color:#7d8791;font-size:12px;font-weight:700;text-decoration:none}

/* 20260725: founder-only iteration center. */
.iteration-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;padding:20px 22px;border:1px solid rgba(205,216,228,.9);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(241,247,253,.86));box-shadow:0 12px 30px rgba(38,54,78,.07)}
.iteration-toolbar h2{margin:5px 0 4px;font-size:21px;color:#172033}.iteration-toolbar p{margin:0;color:#718096}.iteration-eyebrow{color:#5078d8;font-size:12px;font-weight:850}.iteration-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}.iteration-check-time{color:#8190a3;font-size:12px}.iteration-check-table th,.iteration-check-table td{vertical-align:top}.iteration-detail{max-width:360px;margin-top:5px;color:#718096;white-space:normal;line-height:1.55}.iteration-samples{max-width:180px;margin-top:4px;color:#8a96a6;font-size:12px;white-space:normal;line-height:1.45}.iteration-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px}.iteration-history{padding:16px 18px}.iteration-version{padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid #e4eaf1}.iteration-version:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.iteration-version-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.iteration-version-no{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eaf2ff;color:#416bd0;font-size:12px;font-weight:850}.iteration-version-date{margin-left:8px;color:#8995a5;font-size:12px}.iteration-version h3{margin:10px 0 5px;color:#1f2d42;font-size:16px}.iteration-version p{margin:0;color:#69788a;line-height:1.6}.iteration-version ul{margin:9px 0 0;padding-left:18px;color:#3f5065;line-height:1.7}.iteration-empty{padding:28px}.iteration-toolbar .toolbar{flex-shrink:0}@media(max-width:900px){.iteration-grid{grid-template-columns:1fr}.iteration-toolbar{align-items:flex-start;flex-direction:column}.iteration-toolbar .toolbar{width:100%}}@media(max-width:720px){.iteration-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.iteration-toolbar{padding:17px}.iteration-toolbar .toolbar{display:grid;grid-template-columns:1fr 1fr}.iteration-toolbar .toolbar button{padding-left:8px;padding-right:8px}.iteration-detail{max-width:none}}

/* FINAL 20260724: 好评案例库紧凑展示，保留日期重点但去掉厚重色块。 */
.review-card-grid .review-poster{
  border-radius:22px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 14px 34px rgba(25,42,62,.10),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.review-card-grid .review-poster-hero{
  padding:16px 18px 15px!important;
  background:linear-gradient(145deg,#fbfdff,#f2f7fc)!important;
}
.review-card-grid .review-poster-top{
  gap:10px!important;
  margin-bottom:14px!important;
}
.review-card-grid .review-poster-brand{
  gap:7px!important;
  color:#617086!important;
  font-size:11px!important;
}
.review-card-grid .review-poster-brand b{
  width:24px!important;
  height:24px!important;
  border-radius:8px!important;
  background:#6d8df5!important;
  box-shadow:0 6px 16px rgba(81,119,255,.16)!important;
}
.review-card-grid .review-poster-date{
  padding:5px 9px!important;
  border:1px solid #d6e3f1!important;
  border-radius:11px!important;
  background:#edf5ff!important;
  color:#3566c7!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:baseline!important;
  gap:4px!important;
}
.review-card-grid .review-poster-date span{
  color:#6c8fc8!important;
  font-size:10px!important;
  opacity:1!important;
}
.review-card-grid .review-poster-date strong{
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
}
.review-card-grid .review-poster-title{
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:12px!important;
}
.review-card-grid .review-avatar{
  width:48px!important;
  height:48px!important;
  border-radius:15px!important;
  background:#e8f1ff!important;
  color:#3566c7!important;
  font-size:24px!important;
  box-shadow:none!important;
}
.review-card-grid .review-poster-title h2{
  font-size:18px!important;
  line-height:1.2!important;
}
.review-card-grid .review-poster-title p{
  margin-top:4px!important;
  color:#718096!important;
  font-size:11px!important;
}
.review-card-grid .review-poster-quote{
  padding:13px 18px 14px!important;
}
.review-card-grid .review-poster-quote>div{
  gap:8px!important;
  margin-bottom:8px!important;
}
.review-card-grid .review-poster-quote strong{
  color:#2f5fbd!important;
  font-size:14px!important;
}
.review-card-grid .review-copy-btn{
  display:grid!important;
  place-items:center!important;
  width:26px!important;
  height:26px!important;
  padding:0!important;
  border:1px solid #d7e2ef!important;
  border-radius:8px!important;
  background:#f7faff!important;
  color:#6b83a4!important;
  font-size:15px!important;
  line-height:1!important;
}
.review-card-grid .review-copy-btn:hover,
.review-card-grid .review-copy-btn:focus-visible{
  border-color:#9bb8e8!important;
  background:#edf5ff!important;
  color:#3566c7!important;
  outline:none!important;
}
.review-card-grid .review-poster-quote blockquote{
  padding:12px 14px!important;
  border-left:3px solid #89aaf0!important;
  border-radius:14px!important;
  background:#f8fbff!important;
  color:#354257!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.review-card-grid .review-poster-foot{
  gap:8px!important;
  padding:0 18px 15px!important;
  color:#8491a3!important;
  font-size:11px!important;
  font-weight:750!important;
}
@media(max-width:720px){
  .review-card-grid .review-poster{
    border-radius:20px!important;
  }
  .review-card-grid .review-poster-hero{
    padding:15px 16px 14px!important;
  }
  .review-card-grid .review-poster-quote{
    padding:12px 16px 13px!important;
  }
.review-card-grid .review-poster-foot{
  padding:0 16px 14px!important;
}
}

/* 20260730: compact monthly conversion and revenue reconciliation. */
.traffic-conversion{margin:0 0 14px;border:1px solid rgba(203,215,229,.9);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(58,77,99,.06);overflow:hidden}
.traffic-conversion-head{min-height:48px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(216,225,235,.86)}
.traffic-conversion-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}.traffic-conversion-head strong{color:#192536;font-size:14px}.traffic-conversion-head span{color:#7b8798;font-size:12px}.traffic-conversion-source{flex:0 0 auto;padding:4px 8px;border-radius:8px;background:#eef3f8;color:#53677f!important;font-weight:700}
.traffic-conversion-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:stretch}
.traffic-conversion-item{min-width:0;padding:11px 14px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;border-right:1px solid rgba(220,228,237,.82);border-bottom:1px solid rgba(220,228,237,.64)}
.traffic-conversion-item strong{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;color:#26354a;font-size:13px;white-space:nowrap}.traffic-conversion-item span{color:#7a8798;font-size:11px;white-space:nowrap}.traffic-conversion-item span:last-child{grid-column:1/-1}.traffic-conversion-item b{margin-left:3px;color:#24364e;font-size:12px}.traffic-conversion-item.overall{background:rgba(235,243,253,.64)}.traffic-conversion-item.overall b{color:#2f64ad}
.traffic-conversion-note{padding:7px 14px;background:rgba(247,249,252,.78);color:#7b8798;font-size:11px;line-height:1.5}.traffic-conversion-empty{padding:16px;color:#8793a3}
.revenue-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.revenue-reconciliation .table-wrap table{min-width:820px}.revenue-reconciliation td{white-space:normal;line-height:1.55}.revenue-reconciliation th:nth-child(3){min-width:260px}.revenue-reconciliation th:nth-child(4){min-width:280px}
.revenue-check-status{padding:5px 9px;border-radius:8px;font-size:12px;font-weight:800}.revenue-check-status.ok{background:#eaf6ef;color:#287a4d}.revenue-check-status.needs-review{background:#fff3df;color:#9a6817}.revenue-check-empty{padding:20px 16px;color:#65758a}.revenue-compat-note{padding:10px 16px;border-top:1px solid #e6ebf1;background:#f8fafc;color:#68788c;font-size:12px;line-height:1.55}
@media(max-width:900px){.revenue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.traffic-conversion{border-radius:14px}.traffic-conversion-head{align-items:flex-start}.traffic-conversion-head>div{display:grid;gap:2px}.traffic-conversion-list{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-conversion-item{padding:10px 11px}.traffic-conversion-item span{white-space:normal}.revenue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* 20260807 r15: restrained, evidence-led review library. */
.review-real-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.review-real-search{height:40px;min-width:240px;flex:1;display:flex;align-items:center;border:1px solid #dde3e8;border-radius:8px;background:#fff;transition:.18s ease}
.review-real-search:focus-within{border-color:#9aafc2;box-shadow:0 0 0 3px rgba(61,88,116,.08)}
.review-real-search>span{padding-left:12px;color:#82909d;font-size:15px}.review-real-search input{width:100%;height:100%;border:0!important;outline:0!important;background:transparent!important;padding:0 12px!important;box-shadow:none!important;color:#18202a!important}
.review-real-filters{height:40px;max-width:52%;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #dde3e8;border-radius:8px;background:#e9edf0;overflow-x:auto;scrollbar-width:none}.review-real-filters::-webkit-scrollbar{display:none}
.review-real-filters button{height:32px;flex:0 0 auto;padding:0 13px;border:0;border-radius:6px;background:transparent;color:#677380;font-size:12px;white-space:nowrap}.review-real-filters button.active{background:#fff;color:#263442;box-shadow:0 1px 4px rgba(26,39,52,.10);font-weight:700}
.review-real-summary{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 1px 14px;color:#667281;font-size:12px;white-space:nowrap}.review-real-summary strong{color:#18202a;font-size:15px}.review-real-summary i{width:1px;height:14px;background:#d8dee4}
.review-real-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.review-real-card{min-width:0;min-height:222px;display:grid;grid-template-rows:auto 1fr auto;padding:18px 19px 15px;border:1px solid #dde3e8;border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(24,32,42,.045);color:#18202a;text-align:left;letter-spacing:0;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.review-real-card:hover{transform:translateY(-1px);border-color:#bdc9d3;box-shadow:0 8px 22px rgba(24,32,42,.075)}.review-real-card:focus-visible{outline:3px solid rgba(61,88,116,.15);outline-offset:2px}
.review-real-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.review-real-person{display:flex;align-items:center;min-width:0;gap:11px}.review-real-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:#edf1f4;color:#42566b;font-size:15px;font-weight:800}
.review-real-person>span:last-child{min-width:0}.review-real-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18202a;font-size:15px}.review-real-person small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;color:#667281;font-size:12px;white-space:nowrap}
.review-real-date{text-align:right;white-space:nowrap;color:#18202a;font-size:15px;font-weight:780;font-variant-numeric:tabular-nums}.review-real-date small{display:block;margin-top:2px;color:#8a949f;font-size:10px;font-weight:600}
.review-real-quote{position:relative;margin:16px 0 13px;padding:0 2px 0 14px;overflow:hidden;color:#2c3641;font-size:14px;line-height:1.78;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.review-real-quote:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:2px;background:#9baebe}
.review-real-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #e9edf0}.review-real-meta{display:flex;align-items:center;gap:7px;min-width:0;color:#667281;font-size:11px}.review-real-service{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d5874;font-weight:700}.review-real-verified{display:inline-flex;align-items:center;gap:5px;color:#2f6f54;white-space:nowrap}.review-real-verified:before{content:"";width:6px;height:6px;border-radius:50%;background:#61a17f}.review-real-score{display:flex;align-items:baseline;gap:5px;white-space:nowrap;color:#9a6817}.review-real-score b{font-size:15px}.review-real-score span{font-size:11px;color:#88734f}.review-real-empty{grid-column:1/-1}
.review-detail-open{overflow:hidden}.review-detail-mask{position:fixed;inset:0;z-index:1200;display:none;background:rgba(23,30,38,.28);backdrop-filter:blur(3px)}.review-detail-mask.open{display:block}.review-detail{position:absolute;top:0;right:0;width:min(500px,100%);height:100%;padding:28px 28px 32px;background:#fff;box-shadow:-18px 0 48px rgba(18,26,34,.16);overflow:auto;animation:review-detail-slide .22s ease-out}@keyframes review-detail-slide{from{transform:translateX(28px);opacity:.7}to{transform:none;opacity:1}}
.review-detail-close{position:absolute;top:18px;right:18px;width:34px;height:34px;padding:0;border:1px solid #dde3e8;border-radius:50%;background:#fff;color:#56616d;font-size:20px;line-height:1}.review-detail-date{margin-top:5px;color:#3d5874;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.review-detail-label{margin-top:4px;color:#8a949f;font-size:11px}.review-detail h2{margin:24px 0 0;color:#18202a;font-size:20px}.review-detail-sub{margin:5px 0 0;color:#667281}.review-detail-text{margin:24px 0 0;padding:19px 0 0;border-top:1px solid #dde3e8;color:#25303b;font-size:16px;line-height:1.9;white-space:pre-wrap}.review-detail-proof{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:15px;border-top:1px solid #dde3e8;color:#667281;font-size:12px}.review-detail-proof strong{color:#2f6f54}
@media(max-width:900px){.review-real-grid{grid-template-columns:1fr}.review-real-filters{max-width:58%}}
@media(max-width:720px){.review-real-top{display:grid}.review-real-search{min-width:0}.review-real-filters{width:100%;max-width:none}.review-real-filters button{flex:1}.review-real-summary{justify-content:flex-start;overflow-x:auto}.review-real-card{min-height:212px;padding:16px}.review-detail{top:auto;bottom:0;width:100%;height:min(82vh,700px);border-radius:12px 12px 0 0;animation:review-detail-rise .22s ease-out}@keyframes review-detail-rise{from{transform:translateY(30px);opacity:.7}to{transform:none;opacity:1}}}
@media(max-width:420px){.review-real-card{min-height:228px}.review-real-service{max-width:130px}.review-detail{padding:24px 20px 28px}.review-detail-date{font-size:23px}}

/* 20260807 r16: compact vertical feedback records without decorative logo or copy control. */
.review-feedback-card{
  min-width:0;min-height:320px;display:grid;grid-template-rows:auto 1fr auto;padding:0;
  overflow:hidden;border:1px solid #d8e1e6;border-radius:16px;background:#fff;color:#1d2933;
  box-shadow:0 8px 24px rgba(40,58,68,.07);text-align:left;letter-spacing:0;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.review-feedback-card:hover{transform:translateY(-2px);border-color:#bdcde0;box-shadow:0 14px 30px rgba(40,58,68,.11)}
.review-feedback-card:focus-visible{outline:3px solid rgba(63,103,152,.18);outline-offset:2px}
.review-feedback-hero{display:block;padding:17px 18px 16px;background:#f3f6fa;border-bottom:1px solid #dfe7f0}
.review-feedback-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.review-feedback-brand{min-width:0;color:#637286;font-size:12px;font-weight:700;line-height:1.35}
.review-feedback-date{flex:0 0 auto;min-width:61px;padding:5px 9px;border:1px solid #c9d8eb;border-radius:10px;background:#edf3fa;color:#3f6798;text-align:center;font-variant-numeric:tabular-nums}
.review-feedback-date small,.review-feedback-date strong{display:block}.review-feedback-date small{font-size:9px;line-height:1.2;font-weight:700}.review-feedback-date strong{margin-top:2px;font-size:15px;line-height:1.15;font-weight:800}
.review-feedback-title{display:flex;align-items:center;gap:11px;margin-top:15px;min-width:0}
.review-feedback-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#e7eef8;color:#3f6798;font-size:17px;font-weight:800}
.review-feedback-title>span:last-child{min-width:0}.review-feedback-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1d2933;font-size:15px;line-height:1.35}.review-feedback-title small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#73818a;font-size:11px}
.review-feedback-body{display:flex;flex-direction:column;padding:17px 18px 14px}
.review-feedback-score{display:block;color:#365f91;font-size:14px;line-height:1.4;font-weight:800}
.review-feedback-quote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-top:10px;padding:13px 14px;border:1px solid #dce4e6;border-radius:12px;background:#f7f9fa;color:#33414a;font-size:13px;line-height:1.72}
.review-feedback-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 18px;padding:11px 0 14px;border-top:1px solid #e7edef;color:#849099;font-size:10px;font-variant-numeric:tabular-nums}
.review-feedback-foot span:last-child{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#607287;font-weight:700}
@media(max-width:720px){.review-feedback-card{min-height:304px}.review-feedback-hero{padding:15px 16px}.review-feedback-body{padding:15px 16px 13px}.review-feedback-foot{margin:0 16px}.review-feedback-quote{-webkit-line-clamp:5}}
@media(max-width:420px){.review-feedback-brand{max-width:190px}.review-feedback-card{min-height:310px}}

/* 20260807 r17: stronger blue and true portrait card proportions. */
.review-real-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.review-feedback-card{min-height:440px;border-color:#cbd9e8;box-shadow:0 10px 26px rgba(39,69,105,.09)}
.review-feedback-card:hover{border-color:#a9c1df;box-shadow:0 16px 34px rgba(39,69,105,.15)}
.review-feedback-hero{min-height:156px;padding:19px 19px 18px;background:#eaf2fd;border-bottom-color:#cbdcf2}
.review-feedback-brand{color:#486481;font-size:12px;font-weight:750}
.review-feedback-date{min-width:64px;padding:6px 10px;border-color:#afc9ec;background:#dceafe;color:#245a9a}
.review-feedback-date small{font-size:10px}.review-feedback-date strong{font-size:16px}
.review-feedback-title{margin-top:19px}.review-feedback-avatar{width:46px;height:46px;flex-basis:46px;border-radius:13px;background:#d7e7fa;color:#245a9a;font-size:18px}
.review-feedback-title strong{font-size:15px}.review-feedback-title small{margin-top:4px;color:#61758a;font-size:11px}
.review-feedback-body{padding:20px 19px 16px}.review-feedback-score{color:#1e5797;font-size:15px}
.review-feedback-quote{margin-top:12px;padding:15px;border-color:#d5e0ec;background:#f5f8fc;color:#27384a;font-size:13px;line-height:1.78;-webkit-line-clamp:7}
.review-feedback-foot{margin:0 19px;padding:13px 0 16px;border-top-color:#dfe7f0;color:#74869a;font-size:10px}.review-feedback-foot span:last-child{color:#3e6188}
@media(max-width:1120px){.review-real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-feedback-card{min-height:420px}}
@media(max-width:720px){.review-real-grid{grid-template-columns:1fr;gap:12px}.review-feedback-card{min-height:410px}.review-feedback-hero{min-height:148px;padding:17px}.review-feedback-body{padding:18px 17px 15px}.review-feedback-foot{margin:0 17px}.review-feedback-quote{-webkit-line-clamp:7}}
@media(max-width:420px){.review-feedback-card{min-height:405px}.review-feedback-brand{max-width:190px}}

.review-detail-mask{background:rgba(28,40,56,.26);backdrop-filter:blur(8px)}
.review-detail-mask .review-detail{
  position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
  width:min(440px,calc(100% - 32px))!important;height:auto!important;max-height:min(82vh,640px);
  padding:25px 24px 23px!important;overflow:auto;border:1px solid #bdcde0!important;border-radius:18px!important;
  background:#fff!important;box-shadow:0 24px 70px rgba(24,43,68,.24)!important;
  transform:translate(-50%,-50%);animation:review-detail-pop .18s ease-out!important;
}
@keyframes review-detail-pop{from{transform:translate(-50%,-48%) scale(.98);opacity:.65}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.review-detail-mask .review-detail-close{top:15px;right:15px;width:32px;height:32px;border-color:#ccd9e8;background:#f5f8fc;color:#49627d}
.review-detail-mask .review-detail-date{margin-top:0;color:#245a9a;font-size:27px;line-height:1.15}
.review-detail-mask .review-detail-label{margin-top:5px;color:#78899c}
.review-detail-mask .review-detail h2{margin:22px 40px 0 0;font-size:19px;line-height:1.4}
.review-detail-mask .review-detail-sub{margin-top:4px;color:#61758a;font-size:12px}
.review-detail-mask .review-detail-text{margin-top:18px;padding:14px 15px;border:1px solid #d5e0ec;border-radius:12px;background:#f5f8fc;color:#27384a;font-size:14px;line-height:1.8}
.review-detail-mask .review-detail-proof{margin-top:16px;padding-top:13px;border-top-color:#dfe7f0;color:#74869a;font-size:11px}.review-detail-mask .review-detail-proof strong{color:#245a9a}
@media(max-width:520px){.review-detail-mask .review-detail{width:calc(100% - 24px)!important;max-height:86vh;padding:22px 19px 20px!important;border-radius:16px!important}.review-detail-mask .review-detail-date{font-size:24px}.review-detail-mask .review-detail h2{font-size:18px}.review-detail-mask .review-detail-text{font-size:13px}.review-detail-mask .review-detail-proof{align-items:flex-start;flex-direction:column;gap:4px}}

/* 20260730: founder account password administration. */
.account-admin-panel{overflow:hidden}.account-admin-count{flex:0 0 auto;padding:5px 9px;border-radius:8px;background:#eef3f8;color:#617187;font-size:12px;font-weight:800}.account-admin-table{min-width:1080px}.account-admin-table td,.account-admin-table th{vertical-align:middle}.account-admin-table td:nth-child(2){color:#233550}.account-reset-btn,.account-device-btn{padding:6px 9px;border:1px solid #d7e1ec!important;border-radius:8px!important;background:#f7f9fc!important;color:#3566a8!important;font-weight:750;white-space:nowrap}.account-reset-btn:hover,.account-device-btn:hover{border-color:#a9bdd6!important;background:#edf4fc!important}.account-action-stack{display:flex;align-items:center;gap:6px}.account-device-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:150px}.account-device-state small{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#758397}.current-password-panel{max-width:560px}.account-reset-summary{padding:13px 14px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;border:1px solid #dfe7f0;border-radius:10px;background:#f7f9fc}.account-reset-summary span{grid-row:1/3;padding:5px 8px;border-radius:7px;background:#e9f0f8;color:#52677f;font-size:12px;font-weight:800}.account-reset-summary strong{color:#1f2f44;font-size:16px}.account-reset-summary small{color:#758397;line-height:1.45}@media(max-width:720px){.account-admin-panel .panel-head{align-items:flex-start}.account-action-stack{align-items:stretch;flex-direction:column}.current-password-panel{max-width:none}.account-reset-summary{grid-template-columns:1fr}.account-reset-summary span{grid-row:auto;width:max-content}}

/* 20260725: self-check samples must be readable, not bare IDs. */
.iteration-check-table{min-width:1180px}.iteration-check-table th:nth-child(1){width:78px}.iteration-check-table th:nth-child(2){min-width:320px}.iteration-check-table th:nth-child(3){min-width:300px}.iteration-check-table th:nth-child(4){min-width:520px}.iteration-samples{max-width:520px;margin-top:7px;color:#5f7085;font-size:12px;white-space:normal;line-height:1.55}.iteration-samples div{padding:3px 0;border-top:1px solid rgba(205,216,228,.65)}.iteration-samples div:first-child{border-top:0}.iteration-check-table td{white-space:normal}

/* 20260731: student month groups, six-month summary and service time. */
.student-six-month-summary{margin:0 0 14px;border:1px solid #dce5ee;border-radius:16px;background:rgba(250,252,254,.88);box-shadow:0 10px 26px rgba(48,65,84,.06);overflow:hidden}
.student-summary-head{min-height:48px;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e1e8ef}.student-summary-head strong{color:#1f2c3c;font-size:14px}.student-summary-head span{color:#7b8795;font-size:12px}
.student-summary-months{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));overflow-x:auto}.student-summary-month{min-width:150px;padding:12px 14px;display:grid;gap:5px;border-right:1px solid #e3e9ef}.student-summary-month:last-child{border-right:0}.student-summary-month>b{margin-bottom:2px;color:#26374b;font-size:13px}.student-summary-month span{display:flex;justify-content:space-between;gap:8px;color:#7a8796;font-size:11px}.student-summary-month strong{color:#33465d;font-size:12px}.student-summary-month .outstanding strong{color:#a26916}
.student-month-gap-row td{height:42px!important;padding:12px 12px 7px!important;border-top:10px solid #edf2f6!important;border-bottom:1px solid #dbe4ed!important;background:#f5f8fb!important;color:#536579!important;text-align:left!important}.student-month-gap-row:first-child td{border-top-width:0!important}.student-month-gap-row span{display:inline-flex;align-items:center;min-height:22px;font-size:12px;font-weight:850}
.service-time-cell{min-width:132px;display:grid;justify-items:start;gap:4px}.service-time-cell small{color:#7a8797;font-size:10px;white-space:nowrap}.service-time-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border:1px solid #c9d9e7;border-radius:8px;background:#eef5fb;color:#39617f;font-size:11px;font-weight:850;white-space:nowrap}.service-time-badge.soon{border-color:#ead39e;background:#fff8e9;color:#946513}.service-time-badge.urgent{border-color:#e8b28f;background:#fff3eb;color:#a95224}.service-time-badge.expired{border-color:#e7aaa6;background:#fff0ef;color:#b23a35}.service-time-badge.closed{border-color:#d4dde6;background:#f1f4f7;color:#718096}.service-extend-btn{padding:2px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#3f6da5!important;font-size:10px!important;font-weight:800!important}
.table-students .col-remainingServiceDays{min-width:150px!important}
@media(max-width:900px){.student-summary-months{grid-template-columns:repeat(6,150px)}}
@media(max-width:720px){.student-six-month-summary{border-radius:14px}.student-summary-head{align-items:flex-start;flex-direction:column;gap:2px}.student-month-gap-row td{padding-left:10px!important}}

/* 20260813 r38: student-centered workflow cards and traceable settlement chain. */
.workflow-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;align-items:start}.workflow-card{min-width:0;border:1px solid #d9e3ed;border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 8px 22px rgba(51,75,102,.065);overflow:hidden}.workflow-card-head{min-height:66px;padding:13px 15px 11px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.workflow-card-head>div{min-width:0}.workflow-card-head h3{margin:0;overflow:hidden;text-overflow:ellipsis;color:#1d2b3d;font-size:15px;white-space:nowrap}.workflow-card-head p{margin:5px 0 0;overflow:hidden;text-overflow:ellipsis;color:#778699;font-size:11px;white-space:nowrap}.workflow-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border:1px solid #d4dee8;border-radius:8px;background:#f2f5f8;color:#65768a;font-size:10px;font-weight:800;white-space:nowrap}.workflow-pill.ok{border-color:#b8dfd1;background:#ebf8f3;color:#14745a}.workflow-pill.wait{border-color:#efd18a;background:#fff6df;color:#996307}.workflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e7edf3;border-bottom:1px solid #e7edf3;background:#fafcff}.workflow-summary span{min-width:0;padding:9px 11px;border-right:1px solid #e7edf3;color:#7a899a;font-size:10px}.workflow-summary span:last-child{border-right:0}.workflow-summary b{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;color:#2d4057;font-size:12px;white-space:nowrap}.workflow-list{padding:3px 14px}.workflow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f6}.workflow-row:last-child{border-bottom:0}.workflow-row>div:first-child{min-width:0}.workflow-row strong{display:block;overflow:hidden;text-overflow:ellipsis;color:#26384d;font-size:12px;white-space:nowrap}.workflow-row small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;color:#7d8c9d;font-size:10px;line-height:1.5;white-space:nowrap}.workflow-detail-row{grid-template-columns:minmax(0,1fr) auto auto}.workflow-money{color:#9b6508;font-size:13px;white-space:nowrap}.teacher-pay-card .workflow-money,.teacher-pay-card .workflow-summary b{color:#177258}.workflow-row-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:0}.workflow-action{min-height:28px;padding:5px 9px!important;border:1px solid #d5e0eb!important;border-radius:8px!important;background:#f8fafc!important;color:#45627f!important;font-size:10px!important;font-weight:750!important}.workflow-action.primary{border-color:#bed5f0!important;background:#edf5ff!important;color:#1765c2!important}.workflow-link{padding:3px 0!important;border:0!important;background:transparent!important;color:#176bd8!important;font-size:10px!important;font-weight:800!important;cursor:pointer}.workflow-card>footer{min-height:42px;padding:9px 14px;border-top:1px solid #e7edf3;background:#fafcff;display:flex;align-items:center;justify-content:space-between;gap:10px}.workflow-card>footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#7c8b9c;font-size:10px;white-space:nowrap}.teacher-pay-grid{margin-top:14px}.workflow-trace-route{margin:0 0 12px;padding:10px 12px;border:1px solid #d8e5f0;border-radius:11px;background:#f5f9fd;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.workflow-trace-route b{padding:4px 7px;border-radius:7px;background:#e9f3ff;color:#2763a8;font-size:10px}.workflow-trace-route i{color:#91a1b2;font-style:normal}.workflow-trace-section{margin:0 0 9px;border:1px solid #dce6ef;border-radius:11px;background:#fff;overflow:hidden}.workflow-trace-section>header{padding:9px 11px;border-bottom:1px solid #e8eef4;background:#fafcfe;display:flex;align-items:center;justify-content:space-between;gap:8px}.workflow-trace-section>header strong{font-size:12px}.workflow-trace-section>div{padding:8px 11px;border-top:1px solid #eef2f6;display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px}.workflow-trace-section>header+div{border-top:0}.workflow-trace-section span{color:#77879a;font-size:11px}.workflow-trace-section b{overflow-wrap:anywhere;color:#2b3d52;font-size:11px}.workflow-modal-list{padding:2px 14px;max-height:62vh;overflow:auto}
@media(max-width:900px){.workflow-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
@media(max-width:720px){.workflow-card-grid{grid-template-columns:1fr}.workflow-summary span{padding:8px}.workflow-detail-row{grid-template-columns:minmax(0,1fr) auto}.workflow-detail-row .workflow-pill{grid-row:2}.workflow-detail-row .workflow-money{grid-row:1/3;grid-column:2}.workflow-trace-section>div{grid-template-columns:90px minmax(0,1fr)}}
.workflow-card-grid-flat{align-items:stretch}.workflow-card-grid-flat>.workflow-card{height:100%;display:flex;flex-direction:column;background:#fff;border-color:#d9e3ed}.workflow-card-grid-flat>.workflow-card .workflow-list{flex:1}.workflow-card-grid-flat>.workflow-card .workflow-card-head{background:#fff}.workflow-card-name-line{display:flex;align-items:center;gap:10px;min-width:0}.workflow-card-name-line h3{flex:0 1 auto}.workflow-card-total{color:#a26600;font-size:20px;line-height:1;white-space:nowrap}.workflow-card .workflow-row.needs-attention{margin:0 -8px;padding-left:8px;padding-right:8px;background:#fff8e5;border-left:3px solid #e7a928}.workflow-card .workflow-row.has-row-anomaly{margin:0 -8px;padding-left:8px;padding-right:8px;background:#fff6f6;border-left:3px solid #d56b6b}.workflow-service-label{display:inline-block;padding:1px 5px;border-radius:5px;background:#f0f3f6;color:#647386}.workflow-service-label.service-type-campus-full{background:#edf5ff;color:#316da9}.workflow-service-label.service-type-campus-single{background:#eef8ff;color:#397ca9}.workflow-service-label.service-type-social-full{background:#f3f0ff;color:#675da8}.workflow-service-label.service-type-social-single{background:#f7f2ff;color:#8267aa}.workflow-service-label.service-type-internship{background:#edf9f5;color:#39836c}.workflow-archived{margin:0 14px 8px;border:0;background:transparent}.workflow-archived summary{padding:5px 2px;color:#9aa3ad;font-size:9px;font-weight:600;cursor:pointer;list-style:none}.workflow-archived summary::-webkit-details-marker{display:none}.workflow-archived summary:before{content:'+';display:inline-block;width:13px;color:#a4adb7;font-size:11px}.workflow-archived[open] summary:before{content:'−'}.workflow-archived-list{margin-top:2px;padding:0 8px 4px;border:1px solid #e8ebee;border-radius:7px;background:#fafbfc}.workflow-archived-list .workflow-row{padding:8px 0}.workflow-archived-list .workflow-row-actions{opacity:.8}
.workflow-card.has-anomaly{border-color:#d9e3ed;background:#fff}
.workflow-card.has-anomaly .workflow-card-head{background:#fff}
.workflow-row.is-deleted{background:#f5f6f8;opacity:.78}
.workflow-service-groups{display:grid;gap:22px}.workflow-service-group{display:grid;gap:10px}.workflow-service-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.workflow-service-group-head h2{margin:0;font-size:17px;color:#1e3f67}.workflow-service-group-head span{font-size:12px;color:#718096}
.workflow-row.is-deleted strong,.workflow-row.is-deleted small{color:#87919c}
.workflow-row.is-deleted .workflow-money{text-decoration:line-through;color:#9aa4ae}
.relation-anomaly{display:inline-block;color:#b04b4b;font-style:normal;font-weight:800}
 .workflow-pill.anomaly{border-color:#e8bcbc;background:#fff2f2;color:#a84343}
 .workflow-pill.progress{border-color:#b9d4f0;background:#edf5ff;color:#1765c2}
 .workflow-pill.deleted{border-color:#d7dde3;background:#f1f3f5;color:#7b8794}
 .workflow-pill.danger{border-color:#efc0c0;background:#fff0f0;color:#ad3f3f}

/* 20260813 r34: keep the student archive paged, but let the page scroll naturally. */
.student-archive-panel{overflow:visible!important}
.student-archive-panel .table-scroll-shell{height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}
.student-archive-panel .table-wrap{height:auto!important;min-height:0!important;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important}
.student-archive-panel .table-wrap thead th{top:0;z-index:3}
.student-archive-pager{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,2fr) auto;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid #dbe4ed;background:#f8fafc}
.student-archive-page-meta{font-size:12px;color:#607083}.student-archive-page-progress{height:6px;border-radius:999px;background:#dfe7ef;overflow:hidden}.student-archive-page-progress i{display:block;height:100%;border-radius:inherit;background:#2d75bc;transition:width .2s ease}.student-archive-page-actions{display:flex;align-items:center;gap:8px;font-size:12px;color:#526579;font-variant-numeric:tabular-nums}.student-archive-page-actions .icon-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:5px;font-size:22px;line-height:1}.student-archive-page-actions .icon-btn:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:720px){.student-archive-pager{grid-template-columns:1fr auto;gap:10px}.student-archive-page-progress{grid-column:1/-1;grid-row:2}.student-archive-page-actions{grid-column:2;grid-row:1}.student-archive-page-meta{grid-column:1;grid-row:1}}

/* 20260731 r3: keep the mirrored horizontal scrollbar available while reading long tables. */
.table-scroll-shell{position:relative!important;overflow:visible!important}
.table-scroll-top{
  position:sticky!important;
  top:78px!important;
  z-index:4!important;
  background:#eef3f8!important;
  box-shadow:0 1px 0 rgba(203,213,225,.9),0 5px 12px rgba(30,41,59,.06)!important;
}
@media(max-width:720px){.table-scroll-top{top:0!important}}

/* 20260731 r5: monthly fixed costs and complete profit. */
.revenue-fixed-cost-panel{margin-bottom:14px!important}
.revenue-fixed-cost-fields{padding:14px 16px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.revenue-fixed-cost-fields label{display:grid;gap:6px;color:#607086;font-size:12px;font-weight:700}
.revenue-fixed-cost-fields input{width:100%;height:40px;border:1px solid #d4dee9;border-radius:9px;background:rgba(255,255,255,.84);padding:0 11px;color:#172033;font-size:15px;font-weight:800}
.revenue-fixed-status{padding:4px 8px;border-radius:7px;background:#eef3f8;color:#63748a;font-size:11px;font-weight:800}
.revenue-student-cost-panel{margin-bottom:14px!important}.revenue-student-cost-panel .table-wrap{max-height:300px;overflow:auto}.revenue-student-cost-panel table{min-width:560px}.revenue-student-cost-total{display:flex;align-items:end;gap:12px;padding:14px 16px;border-top:1px solid #e6edf3;background:#fbfcfe}.revenue-student-cost-total label{display:grid;gap:6px;min-width:240px;color:#607086;font-size:12px;font-weight:700}.revenue-student-cost-total input{width:100%;height:40px;border:1px solid #d4dee9;border-radius:9px;background:#fff;padding:0 11px;color:#172033;font-size:15px;font-weight:800}.revenue-student-cost-total span{flex:1;color:#7b8798;font-size:12px;line-height:1.5}.modal-cost-total{align-items:center;border:1px solid #e2e9f0;border-radius:10px;margin:14px 20px}.modal-cost-total strong{font-size:16px;color:#172033}.modal-cost-total span{flex:none}@media(max-width:720px){.revenue-student-cost-total{align-items:stretch;flex-direction:column}.revenue-student-cost-total label{min-width:0}.revenue-student-cost-total .primary{width:100%}.modal-cost-total{margin:14px}}
.revenue-metrics .metric.profit{border-color:#cfe0d8!important;background:rgba(242,249,245,.92)!important}
@media(max-width:720px){.revenue-fixed-cost-fields{grid-template-columns:1fr}.revenue-fixed-cost-fields .primary{width:100%}}

/* 20260803 r6: uploaded-file links must sit above the transparent picker. */
.drop-upload .drop-status{position:relative!important;z-index:3!important;min-height:28px}
.form-upload-field{display:grid;gap:6px;color:#4d5965}.form-field-label{display:block;color:#4d5965}
.drop-upload .upload-preview:not(.muted){display:inline-flex;max-width:min(100%,620px);align-items:center;gap:8px;padding:6px 9px;border:1px solid #cad9e8;border-radius:8px;background:rgba(255,255,255,.84);color:#376999!important;text-decoration:none}
.drop-upload .upload-preview:not(.muted) span{flex:0 0 auto;font-size:12px;font-weight:850}
.drop-upload .upload-preview:not(.muted) strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#31445b;font-size:12px;font-weight:700}
.drop-upload .upload-preview:not(.muted):hover{border-color:#9eb8d3;background:#f8fbff}

/* 20260805 r13: teacher-only iOS glass hierarchy with a light sidebar. */
html[data-role="teacher"] main{background:#edf2f7}
html[data-role="teacher"] header{background:rgba(250,252,254,.84)!important;border-bottom-color:rgba(198,209,221,.72)!important;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}
html[data-role="teacher"] aside{background:rgba(245,249,252,.82)!important;border:1px solid rgba(194,206,218,.78)!important;color:#26384b!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 14px 36px rgba(38,58,78,.08)!important;backdrop-filter:blur(26px) saturate(140%);-webkit-backdrop-filter:blur(26px) saturate(140%)}
html[data-role="teacher"] .side-brand strong{color:#223448!important}
html[data-role="teacher"] .side-brand small{color:#748396!important}
html[data-role="teacher"] .side-foot{border-top-color:rgba(178,192,206,.72)!important;color:#718094!important}
html[data-role="teacher"] .side-foot .link{color:#64758a!important}
html[data-role="teacher"] nav button{transition:background-color .18s ease,color .18s ease,transform .18s ease}
html[data-role="teacher"] nav button{color:#66768a!important}
html[data-role="teacher"] nav button:hover{background:rgba(255,255,255,.7)!important;color:#31475d!important;transform:translateX(2px)}
html[data-role="teacher"] nav button.active{background:rgba(255,255,255,.94)!important;color:#245474!important;box-shadow:inset 0 0 0 1px rgba(190,204,218,.78),inset 3px 0 0 #7da6c8,0 7px 18px rgba(38,58,78,.07)!important}
html[data-role="teacher"] #content{background:#edf2f7}
html[data-role="teacher"] .teacher-dashboard>*{animation:teacher-rise .32s ease both}
html[data-role="teacher"] .teacher-dashboard>*:nth-child(2){animation-delay:.035s}
html[data-role="teacher"] .teacher-dashboard>*:nth-child(3){animation-delay:.07s}
html[data-role="teacher"] .teacher-dashboard>*:nth-child(4){animation-delay:.105s}
html[data-role="teacher"] .teacher-dashboard>*:nth-child(5){animation-delay:.14s}
html[data-role="teacher"] .teacher-quick{position:relative;overflow:hidden;border:1px solid rgba(196,208,220,.75)!important;border-radius:16px!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 10px 28px rgba(38,58,78,.07)!important;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
html[data-role="teacher"] .teacher-quick:hover{transform:translateY(-1px);border-color:rgba(171,189,207,.9)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 14px 32px rgba(38,58,78,.09)!important}
html[data-role="teacher"] .teacher-quick strong{color:#203044!important}
html[data-role="teacher"] .teacher-quick span{color:#718094!important}
html[data-role="teacher"] .teacher-quick-btn{background:#1674c9!important;box-shadow:0 7px 17px rgba(22,116,201,.22),inset 0 1px 0 rgba(255,255,255,.28)!important;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
html[data-role="teacher"] .teacher-quick-btn:hover{background:#1068b8!important;transform:translateY(-1px);box-shadow:0 9px 20px rgba(22,116,201,.27),inset 0 1px 0 rgba(255,255,255,.3)!important}
html[data-role="teacher"] .teacher-quick-btn:active{transform:translateY(0) scale(.98)}
html[data-role="teacher"] .teacher-metrics .metric{--teacher-accent:#71849a;position:relative;overflow:hidden;border:1px solid rgba(194,206,218,.76)!important;border-radius:14px!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(255,255,255,.4),0 8px 22px rgba(40,58,77,.055)!important;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(1){--teacher-accent:#4d86bd}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(2){--teacher-accent:#4f8c79}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(3){--teacher-accent:#b48245}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(4){--teacher-accent:#7282a9}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(5){--teacher-accent:#9a7660}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(6){--teacher-accent:#718397}
html[data-role="teacher"] .teacher-metrics .metric:nth-child(7){--teacher-accent:#b46670}
html[data-role="teacher"] .teacher-metrics .metric span{display:flex;align-items:center;gap:8px;color:#748295!important;font-weight:700}
html[data-role="teacher"] .teacher-metrics .metric span::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--teacher-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--teacher-accent) 12%,transparent)}
html[data-role="teacher"] .teacher-metrics .metric strong{color:#202d3d!important}
html[data-role="teacher"] .teacher-metrics .metric-click:hover{transform:translateY(-2px);border-color:rgba(166,184,201,.9)!important;box-shadow:inset 0 1px 0 #fff,0 13px 28px rgba(40,58,77,.09)!important}
html[data-role="teacher"] .teacher-metrics .metric-click:active{transform:translateY(0) scale(.99)}
html[data-role="teacher"] .teacher-panel{--teacher-panel-accent:#71849a;overflow:hidden;border:1px solid rgba(194,206,218,.76)!important;border-radius:15px!important;background:rgba(255,255,255,.78)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 9px 24px rgba(40,58,77,.05)!important;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);transition:transform .18s ease,box-shadow .18s ease}
html[data-role="teacher"] .teacher-panel:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(40,58,77,.075)!important}
html[data-role="teacher"] .teacher-panel .panel-head{background:rgba(248,250,252,.72)!important;border-left:0!important;border-bottom:1px solid rgba(207,216,226,.78)!important}
html[data-role="teacher"] .teacher-panel .panel-head h2{display:flex;align-items:center;gap:9px}
html[data-role="teacher"] .teacher-panel .panel-head h2::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--teacher-panel-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--teacher-panel-accent) 12%,transparent)}
html[data-role="teacher"] .teacher-progress-panel{--teacher-panel-accent:#4d86bd}
html[data-role="teacher"] .teacher-reward-panel{--teacher-panel-accent:#b48245}
html[data-role="teacher"] .teacher-warning-panel{--teacher-panel-accent:#b46670}
html[data-role="teacher"] .teacher-settlement-panel{--teacher-panel-accent:#4f8c79}
html[data-role="teacher"] .teacher-workorder-list>.panel,
html[data-role="teacher"] .teacher-income-ledger>.panel{overflow:hidden;border-radius:15px!important;border-color:rgba(194,206,218,.76)!important;background:rgba(255,255,255,.8)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 9px 24px rgba(40,58,77,.05)!important}
html[data-role="teacher"] button.primary,
html[data-role="teacher"] button.secondary{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
html[data-role="teacher"] button.primary:active,
html[data-role="teacher"] button.secondary:active{transform:scale(.97)}
.teacher-workorder-modal .modal-card{border:1px solid rgba(194,206,218,.82)!important;background:rgba(252,253,254,.95)!important;box-shadow:inset 0 1px 0 #fff,0 28px 80px rgba(18,43,66,.22)!important;backdrop-filter:blur(26px) saturate(140%);-webkit-backdrop-filter:blur(26px) saturate(140%);animation:teacher-modal-in .24s ease both}
.teacher-workorder-modal .modal-head{background:rgba(247,249,252,.78)!important;border-bottom-color:rgba(207,216,226,.8)!important}
.teacher-workorder-modal .modal-head h2{color:#203247!important}
.teacher-workorder-modal .form-actions .primary{min-width:112px;background:#1674c9!important;box-shadow:0 7px 17px rgba(22,116,201,.22),inset 0 1px 0 rgba(255,255,255,.28)!important}
.teacher-workorder-modal .form-actions .primary:disabled{display:inline-flex;align-items:center;justify-content:center;gap:8px;opacity:.78!important;cursor:wait}
.teacher-workorder-modal .form-actions .primary:disabled::after{content:"";width:13px;height:13px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:teacher-spin .7s linear infinite}
.teacher-workorder-modal .drop-upload{border-color:#b8d0e4!important;background:#f5f9fd!important;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}
.teacher-workorder-modal .drop-upload:hover,.teacher-workorder-modal .drop-upload.dragover{border-color:#5793c2!important;background:#edf6fd!important;transform:translateY(-1px)}
@keyframes teacher-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes teacher-modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes teacher-spin{to{transform:rotate(360deg)}}
@media(max-width:720px){
  html[data-role="teacher"] .teacher-quick{align-items:stretch!important;flex-direction:column!important;padding:15px!important}
  html[data-role="teacher"] .teacher-quick-btn{width:100%!important}
  html[data-role="teacher"] .teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  html[data-role="teacher"] .teacher-metrics .metric{min-height:108px!important;padding:14px!important}
  html[data-role="teacher"] .teacher-metrics .metric strong{font-size:22px!important}
  .teacher-workorder-modal .modal-card{width:min(680px,calc(100% - 18px))!important;max-height:94vh!important;border-radius:22px!important}
  .teacher-workorder-modal .form-actions{position:sticky;bottom:0;margin:0 -20px -20px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:rgba(247,250,253,.96);border-top:1px solid #dbe5ee;z-index:4}
}
@media(prefers-reduced-motion:reduce){
  html[data-role="teacher"] .teacher-dashboard>*,.teacher-workorder-modal .modal-card{animation:none!important}
  html[data-role="teacher"] *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* 20260807 r18: VIP marker for consultation traffic. */
.col-trafficLeads-intentLevel{width:112px;min-width:112px;max-width:124px}
.table-trafficLeads th.col-trafficLeads-intentLevel,
.table-trafficLeads td.col-trafficLeads-intentLevel{width:128px!important;min-width:128px!important;max-width:128px!important;white-space:nowrap}
.table-trafficLeads td.col-trafficLeads-intentLevel .vip-field{width:100%!important;min-width:100px!important;max-width:none!important}
.table-wrap table tbody td.cell-vip{
  position:relative;background:transparent!important;color:inherit!important;box-shadow:none!important;
}
.table-wrap table tbody td.cell-vip .inline-field,
.table-wrap table tbody .vip-field.is-vip{
  width:100%!important;min-width:0!important;padding-left:11px!important;padding-right:28px!important;
  border-color:#d1aa44!important;background:linear-gradient(180deg,#f8df96,#efc85f)!important;
  color:#654500!important;font-weight:850!important;text-shadow:none;box-shadow:none!important;animation:none!important;
}
.table-wrap table tbody tr:hover td.cell-vip{background:rgba(248,251,255,.62)!important;box-shadow:none!important}

/* 20260807 r22: keep the new WeChat name field readable without squeezing VIP. */
.table-trafficLeads th.col-trafficLeads-wechatName,
.table-trafficLeads td.col-trafficLeads-wechatName,
.table-liveTrafficLeads th.col-liveTrafficLeads-wechatName,
.table-liveTrafficLeads td.col-liveTrafficLeads-wechatName{width:118px!important;min-width:118px!important;max-width:118px!important;white-space:nowrap}
.table-trafficLeads td.col-trafficLeads-wechatName .inline-field,
.table-liveTrafficLeads td.col-liveTrafficLeads-wechatName .inline-field{width:100%!important;min-width:0!important;max-width:100%!important}

html[data-role="teacher"] .teacher-recent-settlement-panel{--teacher-panel-accent:#4d86bd}
html[data-role="teacher"] .teacher-settlement-detail{border-top:1px solid rgba(207,216,226,.78)}
html[data-role="teacher"] .teacher-settlement-detail-title{padding:13px 16px 8px;color:#51647a;font-weight:800}
html[data-role="teacher"] .teacher-recent-settlement-panel td strong{color:#245fbd}
