/* HERO: 三项审核轨道把跨部门交接放到同一张学生服务卡中。 */
:root{--ink:#223c36;--green:#185f4d;--muted:#697b75;--paper:#f4f6f2;--line:#dfe6de;--amber:#8c641f}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.6 'PingFang SC','Microsoft YaHei',sans-serif;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ca943c;outline-offset:3px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:8px 13px;border-radius:6px}button:hover{border-color:#6a9e88}.primary{background:var(--green);color:white;border-color:var(--green)}.quiet{background:transparent}.shell{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.sidebar{background:#173e34;color:#d9e6dd;padding:30px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 28px}.mark{font-family:Georgia,serif;font-size:27px;color:#e7d6a1;border:1px solid #6b8b73;width:43px;height:43px;text-align:center}.brand strong{font-size:20px;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;color:#abc6b8}.navlabel{font-size:11px;letter-spacing:2px;color:#9eb9ab;margin:16px 12px 9px}.nav{display:flex;flex-direction:column;gap:4px}.nav button{background:none;border:none;text-align:left;color:#c8dcd0;padding:11px 14px}.nav button.active{background:#2b5548;color:#fff}.nav .num{display:inline-block;width:29px;color:#97b29f;font-family:Georgia,serif}.sidefoot{margin-top:auto;font-size:12px;color:#b9cfc2;padding:20px 12px 0;border-top:1px solid #426051}.main{min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);gap:20px}.crumb{font-size:12px;color:var(--muted)}.role{display:flex;align-items:center;gap:10px}.role select{border:1px solid var(--line);padding:7px;border-radius:5px;background:#f8faf7}.avatar{width:32px;height:32px;border-radius:50%;background:#e8efe3;display:grid;place-items:center}.content{padding:32px 36px 60px;max-width:1600px;margin:auto}.eyebrow{font:11px Georgia,serif;letter-spacing:2px;color:var(--muted);text-transform:uppercase}h1{font-size:29px;font-weight:600;letter-spacing:1px;margin:8px 0}h2{font-size:17px;margin:0}h3{font-size:15px;margin:0}.subtitle,.muted{color:var(--muted)}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.pagehead p{margin:5px 0}.notice{border-left:3px solid #b89b62;padding:10px 14px;background:#f3eee1;font-size:12px;margin-bottom:24px;color:#685629}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);padding:20px}.stat small{color:var(--muted)}.stat b{display:block;font:32px/1.4 Georgia,serif;margin:6px 0}.stat footer{font-size:11px;color:var(--muted)}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px}.panel{border:1px solid var(--line);background:white;margin-bottom:22px}.panelhead{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.panelbody{padding:22px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #edf0e9}.row:last-child{border-bottom:0}.tag{display:inline-block;padding:3px 9px;border-radius:4px;font-size:11px;background:#eaf1e7;color:#37634a;white-space:nowrap}.tag.warn{background:#f6eedc;color:#856329}.tag.gray{background:#edf0ee;color:#5b6f65}.tag.red{background:#f6e7e2;color:#934b3b}.actions{display:flex;flex-wrap:wrap;gap:7px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.student{background:white;border:1px solid var(--line);padding:22px}.student h2{font-size:20px}.student p{margin:5px 0 18px;font-size:12px;color:var(--muted)}.student .product{font-size:14px;font-weight:600;margin:18px 0 12px}.track{display:flex;gap:5px;margin:17px 0}.track span{flex:1;font-size:10px;background:#eef0eb;text-align:center;padding:8px 2px;color:#68796c}.track span.done{background:#e0eee0;color:#24583c}.progress{height:5px;background:#edf0e8;margin:10px 0}.progress i{display:block;height:100%;background:#6a9474}.student footer{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;display:flex;justify-content:space-between;align-items:center}.toolbar{display:flex;gap:12px;margin:0 0 20px}.toolbar input{max-width:360px;flex:1}.field,input,textarea,select{border:1px solid #ced9ce;border-radius:5px;background:white;padding:9px 11px;color:var(--ink)}.field{display:block}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:500;font-size:12px;color:var(--muted);background:#f9faf6}td,th{padding:15px 19px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block;color:var(--muted)}.amount{font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:16px}.empty{text-align:center;padding:45px;color:var(--muted)}.steps{counter-reset:step;display:flex;gap:10px;margin-bottom:25px}.step{flex:1;padding:12px;background:#edf1e8;font-size:12px}.step b{display:block;color:var(--green)}.kicker{color:var(--muted);font-size:11px}.viewlink{border:0;background:none;color:var(--green);padding:0;text-decoration:underline;text-underline-offset:3px}.task{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}.task input{accent-color:var(--green);margin-top:6px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formgrid label{display:flex;flex-direction:column;gap:5px;font-size:12px}.formgrid .full{grid-column:1/-1}dialog{border:1px solid var(--line);border-radius:9px;width:min(700px,94vw);max-height:88vh;padding:0;color:var(--ink)}dialog::backdrop{background:#132c2560}dialog .panelhead{position:sticky;top:0;background:white}dialog .body{padding:24px}.dialogfoot{display:flex;justify-content:flex-end;gap:9px;padding:18px 24px;background:#f5f7f1}.error{color:#a34834;font-size:13px;min-height:23px;margin:12px 0 0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#173e34;color:white;padding:12px 22px;display:none;border-radius:6px;z-index:1000}.log{font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}a{color:var(--green)}.hero{background:#e5eddf;padding:23px;border:1px solid #d1dec9;margin-bottom:24px;display:flex;justify-content:space-between;gap:20px}.hero strong{font-size:21px}.hero p{margin:6px 0;color:#506d58;font-size:12px}.mobilemenu{display:none}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.content{padding:25px}.topbar{padding:0 25px}.stats{gap:10px}.stat{padding:15px}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:15px}.brand{padding-bottom:10px}.nav{flex-direction:row;overflow:auto}.nav button{white-space:nowrap;padding:8px}.navlabel,.sidefoot{display:none}.topbar{padding:12px 16px;height:auto;flex-wrap:wrap}.content{padding:20px 16px}.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.pagehead{align-items:flex-start}.pagehead h1{font-size:24px}.steps{flex-wrap:wrap}.step{min-width:100px}.formgrid{grid-template-columns:1fr}.formgrid label{grid-column:1/-1}.hero{flex-direction:column}}@media(prefers-reduced-motion:no-preference){.content{animation:appear .22s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}}

@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{min-width:0}.nav{min-width:0}.toolbar{flex-wrap:wrap}.toolbar input{min-width:0;width:100%;max-width:none;flex-basis:100%}.student{min-width:0}.student .row{flex-wrap:wrap}.pagehead{flex-wrap:wrap}}

.loginpage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f4f6f2}.loginintro{background:#173e34;color:#e8efe3;padding:15vh 9vw;display:flex;flex-direction:column;justify-content:center;gap:25px}.loginintro h1{font-size:44px;line-height:1.5}.loginintro .eyebrow,.loginintro .kicker{color:#b9cfc2}.loginbox{width:min(420px,85%);margin:auto}.loginbox h2{font-size:27px;margin:15px 0}.loginbox label{display:flex;flex-direction:column;gap:7px;margin:20px 0}.loginbox button{width:100%;padding:12px}.loginbox .kicker{margin-top:28px}@media(max-width:760px){.loginpage{grid-template-columns:1fr}.loginintro{padding:35px}.loginintro h1{font-size:28px}.loginbox{padding:40px 0}}

.service-editor{border:1px solid var(--line);padding:18px;margin:18px 0;background:#fafbf7}.service-editor legend{font-weight:600;padding:0 8px}.service-card{border:1px solid var(--line);padding:16px;margin:14px 0;background:#f8faf5}.service-card p{margin:8px 0}.service-card .row{padding-top:0}
.contract-rights-summary{margin:20px 0 12px}.contract-summary-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.contract-summary-title>span{font-size:12px;color:var(--muted)}.signing-contract .contract-service{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,1fr) 56px;column-gap:18px;margin:8px 0;padding:12px 14px;background:#fff}.contract-service-head{display:contents}.contract-service-head>b{grid-column:1;grid-row:1}.contract-service-head>[data-contract-selection]{grid-column:3;grid-row:1;text-align:right;font-size:12px;color:var(--green);white-space:nowrap}.contract-service>.contract-service-facts{grid-column:2;grid-row:1;margin:0;font-size:14px;font-weight:600;color:var(--ink)}.contract-service>:not(.contract-service-head):not(.contract-service-facts){grid-column:1/-1}.contract-service-standard{font-size:13px;line-height:1.6;color:var(--muted)}.contract-service-gift{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}.signing-contract .contract-service details{margin-top:5px;padding-top:0;border-top:0}.signing-contract .contract-service details[open]{border-top:1px solid var(--line);padding-top:8px;margin-top:9px}.contract-service details>summary{font-size:12px}.contract-service [data-contract-difference-state]{color:var(--muted);margin-left:6px}.contract-service-excluded .contract-service-head>[data-contract-selection]{color:var(--muted)}#service-contract-fields label.contract-include{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin:10px 0}label.contract-include>input{width:auto}.contract-required{padding-top:4px}.signing-rights>h4{margin:20px 0 12px}#modalform #service-contract-fields .payment-schedule-editor>label.payment-enable{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:8px}#modalform #service-contract-fields .payment-enable>input{width:auto;flex:none}@media(max-width:640px){.contract-summary-title{display:block}.contract-summary-title>span{display:block;margin-top:4px}.signing-contract .contract-service{grid-template-columns:minmax(0,1fr) 56px;gap:4px 8px;padding:10px 12px}.contract-service-head>[data-contract-selection]{grid-column:2}.contract-service>.contract-service-facts{grid-column:1/-1;grid-row:2;font-size:13px}.signing-contract .contract-service details{margin-top:1px}}

/* Product classification retains one dialog scroll owner and compact expandable rows. */
dialog:has(.order-split){width:min(900px,94vw);overflow:hidden}
dialog:has(.order-split)>form{display:flex;flex-direction:column;max-height:88vh}
dialog:has(.order-split) .panelhead,dialog:has(.order-split) .dialogfoot{flex-shrink:0}
dialog:has(.order-split) .body{overflow:auto;min-height:0;overscroll-behavior:contain}
.order-split-origin{display:flex;gap:6px;flex-direction:column;padding-bottom:14px;border-bottom:1px solid var(--line)}.order-split-origin span,.order-split-intro{color:var(--muted);font-size:13px}
.order-split-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.order-split-row{min-width:0;border:1px solid var(--line);border-radius:8px;padding:16px;background:white}
#modalform .order-split-choice{display:flex;flex-direction:row;gap:10px;align-items:flex-start;margin:0}.order-split-choice>input{width:16px;height:16px;flex:0 0 auto;margin:5px 0}.order-split-choice>span{min-width:0;display:grid;gap:3px}.order-split-choice b{overflow-wrap:anywhere}.order-split-choice small{color:var(--muted)}.order-split-choice [data-split-result]{font-size:12px;color:var(--green)}
.order-split-row dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 0;margin:12px 0;border-block:1px solid var(--line)}.order-split-row dt{font-size:12px;color:var(--muted)}.order-split-row dd{margin:3px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.order-split-row details,.order-split-preserved{font-size:12px;color:var(--muted)}.order-split-row details p,.order-split-preserved p{overflow-wrap:anywhere}.order-split-row summary,.order-split-preserved summary{cursor:pointer}
.order-split-totals{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;background:#edf4ef;padding:14px;border:1px solid var(--line);border-radius:6px}.order-split-totals>div{display:grid;gap:3px}.order-split-totals span{font-size:12px;color:var(--muted)}.order-split-totals strong{font-variant-numeric:tabular-nums}.order-split-payment{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin:14px 0}.order-split-payment span{color:var(--muted);font-size:12px}.order-split-preserved{margin:14px 0}
#modalform .order-split-reason{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;min-width:0;margin:16px 0 0}.order-split-reason textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:88px;box-sizing:border-box;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:6px}
#modalform .order-split-confirm{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:14px 0 0}.order-split-confirm>input{flex:0 0 auto;width:16px;height:16px;margin:4px 0}.order-split-blockers{padding-left:20px}.order-split-blockers li{margin:8px 0}.order-split-receipt-note{padding:8px 10px;background:#edf4ef;border-left:2px solid var(--green);font-size:12px}
@media(max-width:620px){dialog:has(.order-split) .body{padding:16px}.order-split-rows{grid-template-columns:1fr;gap:10px}.order-split-totals{grid-template-columns:1fr 1fr}.order-split-totals>div:first-child{grid-column:1/-1}.order-split-payment{flex-direction:column;align-items:flex-start}}
dialog:has(.product-group-editor){width:min(1040px,94vw);overflow:hidden}
dialog:has(.product-group-editor)>form{display:flex;flex-direction:column;max-height:88vh}
dialog:has(.product-group-editor) .panelhead,dialog:has(.product-group-editor) .dialogfoot{flex-shrink:0}
dialog:has(.product-group-editor) .body{overflow:auto;min-height:0;overscroll-behavior:contain}
.product-group-editor{min-width:0}.product-group-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}.product-group-toolbar p{margin:0;color:var(--muted)}
.product-group-help{font-size:12px;color:var(--muted);margin-bottom:14px}.product-group-help>summary,.product-group-secondary>summary,.product-group-preview summary{cursor:pointer;color:var(--green)}
.product-group-help p{margin:8px 0}.product-group-preview{border:1px solid var(--line);padding:11px 14px;margin-bottom:16px;background:#f7faf5;font-size:12px}.product-group-preview ul{margin:9px 0 0;padding-left:18px}.product-group-preview li{padding:4px 0}.product-group-preview li>span{display:block;color:var(--muted);overflow-wrap:anywhere}.product-group-preview details{margin-top:8px}
.product-group-list{display:grid;gap:9px}.product-group-row{border:1px solid var(--line);border-radius:6px;background:white;min-width:0}
.product-group-row>summary{display:grid;grid-template-columns:14px minmax(150px,1.2fr) minmax(130px,1fr) minmax(160px,1fr) auto;gap:12px;align-items:center;padding:13px 15px;cursor:pointer;list-style:none}
.product-group-row>summary::-webkit-details-marker{display:none}.product-group-row>summary::before{content:'›';font-size:22px;line-height:1;color:var(--green)}.product-group-row[open]>summary::before{transform:rotate(90deg)}.product-group-row[open]>summary{background:#f5f8f2;border-bottom:1px solid var(--line)}
.product-group-row>summary:focus-visible{outline:3px solid #ca943c;outline-offset:2px}.product-group-name,.product-group-stat{min-width:0;overflow-wrap:anywhere}.product-group-name strong,.product-group-stat b{display:block;font-size:13px;font-weight:600}.product-group-name small,.product-group-stat small{display:block;font-size:11px;color:var(--muted);font-weight:400}.product-group-row>summary>.tag{justify-self:end}
.product-group-fields{padding:17px}.product-group-fields input,.product-group-fields select,.product-group-fields textarea{min-width:0;width:100%}.product-group-fields .product-group-enabled{flex-direction:row;align-items:center;align-self:end;gap:8px;padding-bottom:9px}.product-group-fields .product-group-enabled input{width:auto}
.product-group-secondary{margin-top:16px;font-size:12px}.product-group-secondary>.formgrid{margin-top:10px}.product-group-secondary p{margin:8px 0;color:var(--muted);overflow-wrap:anywhere}.product-group-delete{display:flex;justify-content:flex-end;margin-top:15px}.product-group-delete button{font-size:12px}
@media(max-width:700px){dialog:has(.product-group-editor) .body{padding:16px}.product-group-toolbar{align-items:flex-start}.product-group-toolbar p{font-size:12px}.product-group-toolbar button{white-space:nowrap}.product-group-row>summary{grid-template-columns:12px minmax(0,1fr) auto;gap:6px 10px;padding:12px}.product-group-row>summary::before{grid-column:1;grid-row:1}.product-group-name{grid-column:2;grid-row:1}.product-group-row>summary>.tag{grid-column:3;grid-row:1}.product-group-stat{grid-column:2/-1;display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.product-group-stat small,.product-group-stat b{display:inline}.product-group-fields{padding:13px}.product-group-fields .product-group-enabled{padding-bottom:0}}

.catalog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 18px}.catalog-tabs button{border:1px solid var(--line);background:#fff;color:#52645c;padding:11px 20px;border-radius:8px;cursor:pointer;font:inherit;display:flex;align-items:center;gap:12px}.catalog-tabs button[aria-selected="true"]{background:#173e34;color:#fff;border-color:#173e34}.catalog-tabs span{font-size:12px;opacity:.75}.catalog-tabs button:focus-visible{outline:3px solid #b7cebd;outline-offset:3px}.catalog-empty{padding:32px;text-align:center;color:#65766c;background:#f8faf5}

.ledger-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.ledger-stats button{text-align:left;cursor:pointer;border:1px solid var(--line);background:#fff;padding:20px;color:#173e34;font:inherit;border-radius:8px}.ledger-stats strong,.ledger-stats small,.ledger-stats span{display:block}.ledger-stats strong{font-size:24px;margin:10px 0}.ledger-stats span{font-size:12px;color:#687d70}.ledger-stats button:hover{border-color:#173e34}
.bundle-choice>label{display:flex;align-items:center;gap:10px;font-weight:600}.bundle-choice>label:has(input[type=number]){margin:12px 0 6px;font-weight:400;justify-content:space-between}.bundle-choice input[type=number]{max-width:140px}.bundle-choice>small{display:block;color:var(--muted);margin-top:5px}
#modalform h3{margin:22px 0 12px}#modalform>.body>label,#service-contract-fields label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.bundle-toggle{display:flex;gap:10px;align-items:center;padding:16px;border:1px solid var(--line);background:#e8efe3;margin:12px 0}.signing-contract details{margin-top:16px}.signing-contract summary{cursor:pointer;color:var(--green)}.signing-contract details .service-card label{display:flex;flex-direction:column;gap:6px}.bundle-choice small{line-height:1.8}
#modalform .body label.bundle-toggle{flex-direction:row;justify-content:flex-start}#modalform .body label.bundle-toggle input{width:auto;flex:0 0 auto}
.learner-match{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.learner-match small{display:block;color:var(--muted)}.learner-match input{width:auto;margin-top:6px}

.ledger-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.ledger-filters label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px}.ledger-filters input,.ledger-filters select{width:100%;min-width:0}.ledger-product-field{grid-column:span 2}.ledger-filter-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media(max-width:760px){.ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sidebar{overflow-y:auto}.review-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.review-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:20px}.review-filters label{display:flex;flex-direction:column;gap:6px;min-width:0}.review-filters .actions{grid-column:1/-1}.review-table td{min-width:120px;max-width:350px;overflow-wrap:anywhere}.review-table p{margin:4px 0}.review-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:22px 0}.review-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.review-compare section{min-width:0}.review-compare table{font-size:12px}.review-compare th,.review-compare td{padding:9px;overflow-wrap:anywhere}.review-compare th{width:36%}dialog:has(.import-review-detail){width:min(1100px,94vw)}@media(max-width:760px){.review-filters,.review-compare{grid-template-columns:1fr}.review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
#modalform label:has(>input[type="checkbox"]){display:flex;align-items:center;gap:9px;margin:12px 0;}
#modalform label>input[type="checkbox"]{width:16px;height:16px;flex:0 0 16px;margin:0;}
#modalform>.body>label:has(>input[type="checkbox"]){flex-direction:row;justify-content:flex-start;align-items:flex-start;text-align:left;}
/* Short checkbox choices must not inherit the vertical field-label layout. */
#modalform .formgrid label:has(>input[type="checkbox"]){flex-direction:row;align-items:flex-start;margin:0;gap:8px}
#modalform .compact-choice-field{border:0;padding:0;margin:0;min-width:0}
#modalform .compact-choice-field>legend{font-size:12px;color:var(--muted);padding:0;margin:0 0 8px}
#modalform .compact-choice-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#modalform .compact-choice-options>label.compact-choice{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;flex:0 0 auto;min-height:36px;min-width:78px;max-width:100%;margin:0;padding:7px 11px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:13px;line-height:1.4;white-space:nowrap;cursor:pointer}
#modalform .compact-choice-options>label.compact-choice>input[type="checkbox"]{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}
#modalform .compact-choice-options>label.compact-choice:has(>input:checked){background:#eaf2ec;border-color:#719b84;color:#185f4d;font-weight:600}
#modalform .compact-choice-options>label.compact-choice:hover:not(:has(>input:disabled)){border-color:#719b84}
#modalform .compact-choice-options>label.compact-choice:has(>input:focus-visible){outline:3px solid #ca943c;outline-offset:2px}
#modalform .compact-choice-options>label.compact-choice>input:focus-visible{outline:none}
#modalform .compact-choice-options>label.compact-choice:has(>input:disabled){background:#f1f4f0;border-color:var(--line);color:#77847d;opacity:.7;cursor:not-allowed}
#modalform .compact-choice-options>label.compact-choice>input:disabled{cursor:not-allowed}
dialog:has(#review-attach-order){width:min(1050px,94vw)}
#modalform table input[type="checkbox"]{width:16px;height:16px}
.review-task-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.review-task-stats .stat{text-align:left;white-space:normal;border-radius:0}.review-task-stats .stat.selected{border-color:var(--green);box-shadow:inset 0 3px var(--green);background:#f0f6ef}.review-task-stats .stat small{display:block;line-height:1.6}.review-task-stats .stat b{font-size:28px}@media(max-width:1000px){.review-task-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.review-task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.review-task-stats{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Student detail: separate identity, products and registration. */
.learner-pagehead{display:none}.learner-back{margin-bottom:18px}.learner-header{background:#fff;border:1px solid var(--line,#dbe4dd);padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.learner-identity{display:flex;align-items:center;gap:18px}.learner-avatar{width:64px;height:64px;border-radius:16px;background:#e8f0e9;color:var(--green,#175d4c);display:grid;place-items:center;font-size:28px;font-weight:700;flex-shrink:0}.learner-identity h2{font-size:26px;margin:0 0 6px}.learner-identity p{margin:0 0 6px;color:#536960}.learner-identity span{font-size:13px;color:#6b7b74}.learner-tabs{display:flex;gap:30px;border-bottom:1px solid #dbe4dd;margin:24px 0}.learner-tabs button{border:0;border-radius:0;background:transparent;padding:13px 3px;color:#64756b;font-size:15px;border-bottom:3px solid transparent}.learner-tabs button[aria-selected=true]{color:#165d4a;font-weight:700;border-bottom-color:#165d4a}.learner-section{background:white;border:1px solid #dbe4dd;padding:24px 28px;margin-bottom:20px}.learner-section h3{margin:0 0 20px;font-size:17px}.learner-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.learner-section-head h3{margin:7px 0 0;line-height:1.6}.learner-section-head small{color:#6b7b74}.learner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:0}.learner-field{padding:13px 0;border-bottom:1px solid #edf1ed;min-width:0}.learner-field dt{font-size:12px;color:#718078;margin-bottom:7px}.learner-field dd{margin:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.learner-missing{padding:18px 24px;background:#f4f6f2;border:1px solid #e1e7df;margin-top:18px}.learner-missing summary{cursor:pointer;color:#69796e;font-size:13px}.learner-money{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f3f7f2;border:1px solid #e1e8df;margin-bottom:20px}.learner-money>div{padding:18px}.learner-money small{display:block;font-size:12px;color:#687a6e;margin-bottom:9px}.learner-money strong{font-size:20px;font-variant-numeric:tabular-nums}.learner-service-list>div{border-top:1px solid #e6ece5;padding:15px 0;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}.learner-service-list span{color:#607366}.learner-service-list p{width:100%;margin:0}.learner-note{padding:18px;background:#f5f7f3;margin:20px 0;line-height:1.8}.learner-record-id{font-size:12px;color:#758278;margin-top:20px}.learner-name-link{border:0;background:transparent;padding:0;font-weight:700;white-space:nowrap;color:#155d4a;text-align:left}.learner-name-link:hover{text-decoration:underline}.tablewrap td:last-child .actions{flex-wrap:nowrap;white-space:nowrap}.tablewrap td:last-child button{white-space:nowrap;min-width:86px}
@media(max-width:800px){.learner-header{align-items:flex-start;flex-direction:column}.learner-money{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-tabs{gap:18px}.learner-section{padding:20px}.learner-fields{grid-template-columns:1fr}.learner-money strong{font-size:17px}}
.learner-main>.content>.notice{display:none}.financial-operations{border:1px solid #dbe4dd;padding:16px;margin:20px 0}.financial-operations>summary{cursor:pointer;font-weight:600}
.learner-sections{margin-top:24px}.learner-fold{background:#fff;border:1px solid #dbe4dd;margin-bottom:20px}.learner-fold>summary{cursor:pointer;padding:20px 24px;font-size:17px;font-weight:700;color:#234b3f}.learner-fold>summary span,.learner-registration>h3 span{font-weight:400;font-size:13px;color:#738278;margin-left:10px}.learner-fold-body{padding:0 24px 24px}.learner-fold-body>.learner-section{border:0;padding:0;margin:0 0 18px}.learner-fold-body>.learner-section:first-child>h3{display:none}.learner-registration>h3{font-size:17px;margin:26px 0 18px}.learner-registration-fields>summary{cursor:pointer;color:#175d4c;font-size:14px;font-weight:600;padding:4px 0}.learner-registration-fields[open]>summary{margin-bottom:14px}.learner-registration-fields .actions{margin-top:18px}.learner-registration .learner-money{margin-bottom:16px}
.learner-product-meta{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:13px;color:#65786e;margin:-6px 0 20px}.learner-product-meta b{font-weight:500;color:#244c3e}.learner-service-fold{border-bottom:1px solid #e6ece5;padding-bottom:14px;margin-bottom:14px}.learner-registration-fields .learner-service-list{margin-top:16px}
.learner-registration>.learner-section>.learner-registration-fields{border-bottom:1px solid #e6ece5;padding:14px 0;margin:0}.learner-registration>.learner-section>.learner-registration-fields:last-child{border-bottom:0;padding-bottom:0}.learner-cash-records{margin-top:16px}.learner-cash-row{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1ed;font-size:14px}.learner-cash-row>span:first-child{flex:1}.learner-cash-row>span:last-child{font-size:12px;color:#708075}
/* Registration cards: a dated, independent order with cash facts first; original actions stay in its details. */
.learner-registration>.learner-order-card{padding:0 20px;margin-bottom:14px;min-width:0}
.learner-order-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr) auto;gap:20px;align-items:center;padding:16px 0}
.learner-order-heading{display:flex;align-items:baseline;gap:12px;min-width:0}
.learner-order-number{flex-shrink:0;font-size:12px;color:#61756b}
.learner-order-name{min-width:0}
.learner-order-heading h3{font-size:16px;line-height:1.5;margin:0 0 4px;overflow-wrap:anywhere}
.learner-order-reference{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;line-height:1.5;color:#61756b}
.learner-order-date{font-weight:400}
.learner-order-status{justify-self:end}
.learner-order-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;min-width:0}
.learner-order-amounts>div{min-width:0}
.learner-order-amounts dt{font-size:12px;color:#61756b;margin:0 0 4px}
.learner-order-amounts dd{margin:0;font-size:18px;line-height:1.4;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.learner-order-amounts>div+div{border-left:1px solid #e6ece5;padding-left:14px}
.learner-order-key-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;margin:0 0 12px}
.learner-order-service-time,.learner-order-agent-group{min-width:0;border:1px solid #e5eae4;background:#fafbf9;border-radius:5px;padding:9px 12px}
.learner-order-service-time{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;font-size:13px;line-height:1.6}
.learner-order-service-time dt,.learner-order-agent-values dt{font-size:12px;color:#61756b}
.learner-order-service-time dd,.learner-order-agent-values dd{margin:0;overflow-wrap:anywhere}
.learner-order-agent-group{display:flex;align-items:center;justify-content:space-between;gap:12px}
.learner-order-agent-values{display:flex;flex-wrap:wrap;gap:8px 18px;flex:1;min-width:0;margin:0;font-size:13px;line-height:1.6}
.learner-order-agent-values>div{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:100%}
.learner-order-agent-values dt{flex-shrink:0}
.learner-order-agent-values dd{min-width:0}
.learner-order-agent-group>button{flex-shrink:0;font-size:12px;padding:5px 10px}
.learner-order-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0;font-size:12px;color:#705624}
.learner-order-facts>span{background:#f8f2e4;padding:3px 7px;border-radius:3px;font-variant-numeric:tabular-nums}
.learner-order-facts b{font-weight:500}
.learner-order-context{font-size:12px;color:#61756b;margin:7px 0;line-height:1.55}
.learner-order-details{border-top:1px solid #e1e8df}
.learner-order-details>summary{cursor:pointer;color:#185f4d;font-size:13px;font-weight:600;padding:10px 0;line-height:1.5}
.learner-order-details>summary small{font-weight:400;color:#61756b;font-size:12px;margin-left:15px}
.learner-order-details>summary:focus-visible,.learner-order-detail-body>.learner-registration-fields>summary:focus-visible{outline:3px solid #ca943c;outline-offset:2px}
.learner-order-detail-body{padding:0 0 16px}
.learner-order-specification{color:#526a5f;font-size:13px;line-height:1.6;margin:5px 0 12px;overflow-wrap:anywhere}
.learner-order-detail-body>.learner-registration-fields{border-top:1px solid #e6ece5;border-bottom:0;padding:12px 0;margin:0}
.learner-order-detail-body>.learner-registration-fields:last-child{padding-bottom:0}
.learner-order-detail-body>.learner-registration-fields>summary{font-size:13px;padding:0}
.learner-order-detail-body .learner-service-list{margin-top:10px}
.learner-order-detail-body .learner-service-list>div{padding:10px 0}
.learner-signing-fields>h4{font-size:13px;font-weight:600;margin:0 0 10px}
.learner-fold-body .learner-fields,.learner-signing-fields>.learner-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.learner-fold-body .learner-field,.learner-signing-fields .learner-field{padding:10px 12px;border:1px solid #e5eae4;border-radius:5px;background:#fafbf9;min-width:0}
.learner-fold-body .learner-field dt,.learner-signing-fields .learner-field dt{font-size:12px;color:#61756b;margin:0 0 4px}
.learner-fold-body .learner-field dd,.learner-signing-fields .learner-field dd{font-size:14px;line-height:1.6;margin:0;color:var(--ink);overflow-wrap:anywhere}
.learner-field-wide{grid-column:1/-1}
.learner-signing-fields>.actions{justify-content:flex-end;margin-top:12px}
@media(max-width:1100px){.learner-order-summary{grid-template-columns:minmax(0,1fr) auto;gap:12px}.learner-order-summary>.learner-order-amounts{grid-column:1/-1;grid-row:2;padding-top:12px;border-top:1px solid #e6ece5}.learner-order-summary>.learner-order-status{grid-column:2;grid-row:1}.learner-fold-body .learner-fields,.learner-signing-fields>.learner-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.learner-order-key-fields{grid-template-columns:1fr}}
@media(max-width:800px){.learner-fold-body .learner-fields,.learner-signing-fields>.learner-fields{grid-template-columns:1fr}}
@media(max-width:600px){.learner-registration>.learner-order-card{padding:0 14px}.learner-order-summary{padding:13px 0;gap:10px}.learner-order-heading{gap:8px}.learner-order-heading h3{font-size:15px}.learner-order-status .tag{font-size:10px;padding:3px 6px}.learner-order-amounts{gap:7px}.learner-order-amounts dd{font-size:16px}.learner-order-amounts>div+div{padding-left:9px}.learner-order-amounts dt{font-size:11px}.learner-order-details>summary small{display:block;margin:3px 0 0 16px}.learner-order-reference{gap:3px 10px}}
.ledger-cohort-label{display:block;margin-top:6px;color:#708477;font-size:12px;white-space:nowrap}.ledger-product-name{display:block;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.8}.learner-ledger-table td{vertical-align:middle;font-size:13px}.learner-ledger-table th{white-space:nowrap}.learner-ledger-table td:first-child{min-width:76px}.learner-ledger-table td small{line-height:1.8}.learner-ledger-table td:last-child{width:100px}
.learner-ledger-table{min-width:960px}.learner-ledger-table td{min-width:65px}.learner-ledger-table td small{font-size:12px}.learner-ledger-table td{white-space:nowrap}.learner-ledger-table .ledger-product-name{max-width:190px}
.learner-ledger-table{table-layout:fixed;min-width:960px}.learner-ledger-table td,.learner-ledger-table th{padding:14px 10px;overflow:hidden;text-overflow:ellipsis}.learner-ledger-table .ledger-product-name{max-width:100%}
.signing-step-title{font-size:17px;color:#185b49;border-top:1px solid #dfe7df;padding-top:24px;margin:30px 0 18px}.signing-step-title:first-of-type{margin-top:20px}.signing-contract>details{margin-top:18px}.signing-contract>details>summary{cursor:pointer;font-size:14px;color:#4f6c5d}
.handoff-toolbar{display:flex;gap:10px;align-items:end;margin-bottom:22px}.handoff-toolbar label{max-width:420px;flex:1}.handoff-table{min-width:950px}.handoff-table td{vertical-align:middle}.handoff-table td:first-child{white-space:nowrap}.handoff-table .actions{flex-wrap:wrap!important}.handoff-table .ledger-product-name{max-width:230px}
.finance-queues{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-queues .stat{text-align:left;cursor:pointer}.finance-queues .stat.selected{border-color:#1a624e;background:#edf4ed}.finance-table{min-width:980px}.finance-table td{vertical-align:top}.finance-table .finance-note{min-width:230px;max-width:340px;white-space:normal;line-height:1.8}.finance-table .actions{flex-direction:column;align-items:stretch}.finance-table .ledger-product-name{max-width:210px}.finance-table td:nth-child(2),.finance-table td:nth-child(3){white-space:nowrap}@media(max-width:800px){.finance-queues{grid-template-columns:repeat(2,minmax(0,1fr))}}
.payment-overview{margin-top:12px;min-width:200px;font-size:12px;white-space:normal}.payment-overview summary{cursor:pointer;color:#1b614d}.payment-overview .learner-fields{display:block}.payment-overview .learner-field{padding:8px 0}.payment-overview .learner-field dd{font-size:13px}.payment-record{border-bottom:1px solid #e5ece5;padding-bottom:8px;line-height:1.8}.contract-preview-dialog{width:min(1500px,96vw);max-width:96vw}.contract-preview-dialog .body{max-height:80vh;padding:18px}.contract-compare{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}.contract-compare-info{overflow:auto;max-height:70vh;padding:12px;background:#f3f6f0}.contract-compare-document{min-width:0}.contract-compare-document iframe{display:block;width:100%;height:66vh;border:1px solid #dce4db;background:#f3f4f1;margin-top:12px}@media(max-width:800px){.contract-compare{grid-template-columns:1fr}.contract-compare-info{max-height:220px}}
.contract-page-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0}.contract-page-scroll{height:62vh;overflow:auto;background:#e1e5e0;border:1px solid #ccd8cd;padding:12px}.contract-page-scroll img{width:100%;height:auto;display:block;background:white}.contract-page-scroll img[hidden]{display:none}
/* Finance cards separate the label, amount and record count. */
.finance-queues .stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-height:130px;padding:18px 20px;white-space:normal}
.finance-queues .stat>small{display:block;font-size:12px;line-height:1.4;color:var(--muted)}
.finance-queues .stat>strong{display:block;font-size:23px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.finance-queues .stat>span{display:block;font-size:12px;line-height:1.5;color:var(--muted)}

.business-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.business-config-grid>.panel{margin:0;min-width:0}.business-config-grid .panelhead{padding:14px 16px;align-items:flex-start;gap:10px;flex-wrap:wrap}.business-config-grid .panelbody{padding:12px 16px}.business-config-grid p{margin:8px 0;line-height:1.75}.business-config-grid button{font-size:12px}.business-config-grid h2{font-size:15px}.business-config-grid .muted{font-size:12px}@media(max-width:1150px){.business-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.business-config-grid{grid-template-columns:1fr}.business-config-grid .panelhead{align-items:center}.business-config-grid button{max-width:100%;white-space:normal}#modalform input:not([type=checkbox]):not([type=radio]),#modalform select,#modalform textarea{max-width:100%;min-width:0}}
/* Signing work stays in one form, with the original page beside its evidence. */
.nav-group{display:flex;flex-direction:column;gap:2px;margin:8px 0}.nav-group h2{color:#aac4b7;font-size:11px;font-weight:500;letter-spacing:1px;margin:9px 14px 3px}.nav-group button{padding:8px 14px}.workflow-guide{margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);background:#fff}.workflow-guide summary{cursor:pointer;font-weight:600}.workflow-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:16px 0 0 22px;margin:0}.workflow-steps p,.workflow-history{font-size:13px;color:var(--muted);line-height:1.6}.workflow-history{margin:16px 0 0}.agreement-intake{border:1px solid #cbd9ce;background:#f7f9f5;padding:18px;margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;gap:12px}.agreement-upload{display:flex;gap:12px;align-items:end;margin-bottom:10px}.agreement-upload label{display:grid;gap:6px;flex:1;min-width:0}.agreement-upload input{width:100%;max-width:100%}.agreement-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px;margin:16px 0}.agreement-compare>div{min-width:0}.agreement-compare td,.agreement-compare th{padding:10px 8px;vertical-align:top}.agreement-compare td small{white-space:normal;overflow-wrap:anywhere}.agreement-compare td input:not([type=checkbox]),.agreement-compare td select{width:100%;min-width:100px}.agreement-intake>label{display:grid;gap:6px}.agreement-source-preview{max-height:65vh;overflow:auto;border:1px solid var(--line);padding:8px;background:#e9eee7}.agreement-source-preview img{display:block;width:100%;height:auto}.agreement-intake .warning{color:#8c5027}.agreement-intake details p{font-size:12px;overflow-wrap:anywhere}.agreement-intake details h4{margin-bottom:6px}dialog:has(.agreement-intake){width:min(1180px,96vw)}dialog:has(.agreement-intake) .panelhead{z-index:1}.agreement-intake .badge{font-size:11px;color:#805d20}.agreement-intake .bundle-toggle{display:flex;margin:14px 0;align-items:start;gap:8px}
@media(max-width:760px){.nav{gap:12px;align-items:start}.nav-group{flex:0 0 auto;margin:0;gap:2px}.nav-group h2{margin:0 8px;font-size:10px}.nav-group button{padding:5px 8px}.agreement-upload{flex-wrap:wrap}.agreement-upload label{flex-basis:100%}.agreement-compare{grid-template-columns:1fr}.agreement-source-preview{max-height:420px}.agreement-intake{padding:12px}.workflow-steps{grid-template-columns:1fr}.workflow-steps .actions button{max-width:100%}}
.performance-report-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.performance-report-filters label{min-width:0}.performance-report-filters select{width:100%}.performance-more-filters{margin:20px 0}.performance-more-filters .formgrid{margin-top:14px}.performance-group-section{margin-top:28px}.performance-source-detail{max-height:420px;max-width:70vw;overflow:auto;margin:10px 0}.performance-source-detail table{min-width:1000px}.performance-row-evidence{margin-top:6px}.catalogue-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:20px 0}.catalogue-toolbar label{display:grid;gap:6px}.catalogue-service-spec,.catalogue-scheme{padding:12px 0;border-bottom:1px solid var(--line);min-width:240px}.catalogue-service-spec span,.catalogue-service-spec small{display:block}.catalogue-service-spec p,.catalogue-scheme p{margin:4px 0}.catalogue-version-history{margin-top:8px}.catalogue-version-history>details{padding:8px 0}.catalogue-option-spec{margin:8px 0}.catalogue-product-table td{vertical-align:top}.catalogue-service-details summary{min-width:120px;cursor:pointer}.catalogue-service-details[open]{min-width:280px}
@media(max-width:900px){.performance-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.performance-report-filters{grid-template-columns:1fr}.performance-source-detail{max-width:78vw}.catalogue-toolbar label{width:100%}}
.catalogue-product-table{min-width:850px;table-layout:fixed}.catalogue-product-table th:nth-child(1){width:18%}.catalogue-product-table th:nth-child(2){width:13%}.catalogue-product-table th:nth-child(3){width:15%}.catalogue-product-table th:nth-child(4){width:30%}.catalogue-product-table th:nth-child(5){width:24%}.catalogue-product-table th:nth-child(6){width:15%}.catalogue-product-table td,.catalogue-product-table th{padding:14px 12px;overflow-wrap:break-word}.catalogue-product-table td .actions{flex-direction:column;align-items:start}.catalogue-product-table td .actions button{max-width:100%;text-align:left}.catalogue-product-table .catalogue-service-spec{min-width:0}.catalogue-product-table .catalogue-service-details[open]{min-width:0}
.ledger-money-details{margin:0 0 22px;background:#fff;border:1px solid var(--line);padding:14px 18px}.ledger-money-details summary{cursor:pointer;font-weight:600}.ledger-money-details .stats{margin:16px 0 0}.ledger-advanced-filters{grid-column:1/-1;background:#f7f9f5;padding:12px 16px;border:1px solid var(--line)}.ledger-advanced-filters summary{cursor:pointer}.ledger-advanced-filters .formgrid{margin-top:12px}
.performance-report .stats{grid-template-columns:repeat(5,minmax(0,1fr))}.performance-report .stats .stat{padding:15px 12px}.performance-report .stats strong{font-size:clamp(16px,1.4vw,20px);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:760px){.performance-report .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-report .stats strong{font-size:17px}}

.catalogue-row-actions{margin-top:12px}
.payment-schedule-editor{border:1px solid var(--line);padding:16px;margin:16px 0;background:#f7faf5}.payment-schedule-editor h4{margin:0 0 8px}.payment-schedule-editor .payment-enable{display:flex;align-items:center;gap:8px}.payment-installment{border:1px solid var(--line);padding:14px;margin:14px 0;background:#fff;min-width:0}.payment-installment legend{font-weight:600;padding:0 6px}.payment-installment>button{margin-top:10px}.payment-reason{display:flex;flex-direction:column;gap:5px;margin-top:14px}.payment-schedule-line{padding:10px 0;border-bottom:1px solid var(--line)}.payment-schedule-line p{margin:4px 0}.receipt-allocation{border:1px solid var(--line);padding:14px;margin:14px 0;min-width:0}.receipt-allocation>label{display:block;margin:12px 0}.receipt-allocation input[type=number]{display:block;width:100%;margin-top:5px}.payment-schedule-editor [hidden]{display:none!important}
.sidebar .nav{gap:6px}.sidebar .nav-group{display:block;margin:0;border-top:1px solid #355649;padding-top:5px}.sidebar .nav-group:first-child{border-top:0}.sidebar .nav-group>summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 9px;color:#c5d8cd;font-size:12px;font-weight:600;letter-spacing:.6px;border-radius:4px}.sidebar .nav-group>summary::-webkit-details-marker{display:none}.sidebar .nav-group>summary::before{content:'›';font-size:17px;line-height:1;transition:transform .15s ease}.sidebar .nav-group[open]>summary::before{transform:rotate(90deg)}.sidebar .nav-group>summary:hover{background:#244c3f;color:#fff}.sidebar .nav-items{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px}.sidebar .nav-items button{padding:8px 12px 8px 26px;font-size:13px}.sidebar .nav-group:has(button.active)>summary{color:#f2f8f3}.sidebar .nav-group>summary:focus-visible{outline:2px solid #e4cd94;outline-offset:1px}@media(max-width:760px){.sidebar .nav{flex-direction:row;gap:10px}.sidebar .nav-group{flex:0 0 auto;border-top:0;min-width:100px;padding-top:0}.sidebar .nav-group>summary{padding:5px;font-size:11px;letter-spacing:0}.sidebar .nav-items button{padding:6px;font-size:12px}.sidebar .nav-items{margin-bottom:0}}@media(prefers-reduced-motion:reduce){.sidebar .nav-group>summary::before{transition:none}}
/* Custom subject details are shown only after choosing Other. */
[data-subject-custom][hidden]{display:none!important}
/* Expanded specifications stay inside their table columns. Evidence is optional detail. */
.catalogue-product-table .catalogue-scheme{min-width:0;max-width:100%}
.catalogue-product-table td{white-space:normal;overflow-wrap:anywhere}
.catalogue-product-table .catalogue-scheme small{display:block;overflow-wrap:anywhere}
.catalogue-product-table .catalogue-item-evidence{margin:6px 0;color:var(--muted);font-size:12px}
.catalogue-product-table th:nth-child(1){width:14%}
.catalogue-product-table th:nth-child(2){width:12%}
.catalogue-product-table th:nth-child(3){width:20%}
.catalogue-product-table th:nth-child(4){width:32%}
.catalogue-product-table th:nth-child(5){width:22%}
.agreement-source-preview{position:sticky;top:82px;align-self:start}
@media(max-width:760px){.agreement-source-preview{position:static}}
/* Enrollment subjects share the existing learner ledger and registration. */
.ledger-view-tabs{margin-bottom:20px}.exam-enrollment>p{color:var(--muted,#62766f);font-size:14px;line-height:1.7}.exam-enrollment .service-card{padding:18px;margin:12px 0}.exam-enrollment .bundle-toggle{font-weight:650}.exam-enrollment details{margin-top:12px}.exam-enrollment summary{font-size:13px;color:#62766f}.exam-order-summary{padding:18px 0;border-top:1px solid #dce4dc}.exam-order-summary h3{margin:0 0 8px}.exam-subject-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #e4e9e3}.exam-subject-row>div{display:grid;grid-template-columns:90px 1fr;gap:5px 18px;flex:1}.exam-subject-row small{grid-column:2;color:#62766f}.exam-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:22px 0}.exam-stat{border:1px solid #d8e1d6;border-radius:8px;padding:22px;background:#fff}.exam-stat h3{margin:0 0 14px}.exam-stat>strong{font-size:30px;font-weight:650}.exam-stat>p{color:#62766f;margin:5px 0 14px}.exam-detail-counts{margin-top:18px;border-top:1px solid #e4e9e3;padding-top:10px;display:grid;gap:6px}.exam-detail-counts button{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;background:#f5f7f2;border:0;padding:10px}.exam-unconfirmed{padding:18px;background:#f5f7f2;border-radius:6px}.exam-enrollment-table{min-width:700px}.exam-enrollment-table td{vertical-align:top}.exam-enrollment-table small{display:block;max-width:320px;color:#62766f;line-height:1.6;margin-top:5px}@media(max-width:640px){.exam-subject-row{align-items:flex-start;flex-direction:column}.exam-subject-row>div{grid-template-columns:65px 1fr}.exam-stat>strong{font-size:26px}}

/* One statistics view shares the learner ledger, with counts and their source lists. */
.foundation-statistics .panelhead p{margin:6px 0 0;font-size:13px}
.foundation-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.foundation-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:0}
.foundation-filters input,.foundation-filters select{width:100%;min-width:0}
.foundation-filters .foundation-search{grid-column:span 2}
.foundation-filter-actions{display:flex;align-items:end;gap:8px}
.foundation-summary{display:grid;grid-template-columns:180px 180px minmax(0,1fr);gap:16px;align-items:stretch;margin:0 0 16px}
.foundation-summary>button{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:8px;text-align:left;padding:16px 18px;background:#f5f8f2;border-color:#d3dfd2}
.foundation-summary strong{font-size:27px;line-height:1.3;font-variant-numeric:tabular-nums}
.foundation-summary strong span{font-size:14px;font-weight:400;margin-left:3px}
.foundation-summary small,.foundation-summary>button>span{font-size:12px;color:var(--muted)}
.foundation-summary>p{padding:12px 16px;margin:0;align-self:center;font-size:13px;line-height:1.85;color:var(--muted)}
.foundation-range-note{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 16px}
.foundation-summary-table{min-width:650px;table-layout:fixed}
.foundation-summary-table th:nth-child(1){width:28%}.foundation-summary-table th:nth-child(2){width:36%}.foundation-summary-table th:nth-child(3),.foundation-summary-table th:nth-child(4){width:18%}
.foundation-summary-table td{vertical-align:top;overflow-wrap:anywhere}
.foundation-summary-table td small{line-height:1.65;margin-top:4px;font-size:12px}
.foundation-count{border:0;background:#eef4eb;padding:7px 12px;min-width:72px;font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.foundation-count span{font-size:12px;font-weight:400;margin-left:3px}
.foundation-count:hover{background:#e2ecdf}
.foundation-fact-details>summary,.foundation-information>summary,.foundation-source>summary{cursor:pointer;color:var(--green);font-size:13px}
.foundation-fact-details>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.foundation-fact-details button{padding:5px 10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.foundation-fact-details button small{display:inline;margin-left:6px}
.foundation-information{margin:22px 0 0;padding:14px 16px;border:1px solid var(--line);background:#f7f9f5}
.foundation-information .actions{margin:14px 0}
.foundation-information p,.foundation-information li{font-size:12px;color:var(--muted);line-height:1.8}
.foundation-detail-table{min-width:900px;table-layout:fixed}
.foundation-detail-table th:nth-child(1){width:15%}.foundation-detail-table th:nth-child(2){width:23%}.foundation-detail-table th:nth-child(3){width:24%}.foundation-detail-table th:nth-child(4){width:24%}.foundation-detail-table th:nth-child(5){width:14%}
.foundation-detail-table td{vertical-align:top;overflow-wrap:anywhere;padding:13px 10px}
.foundation-detail-table td small{line-height:1.7;margin-top:5px;font-size:12px}
.foundation-detail-table td p{margin:0 0 10px}
.foundation-detail-table .actions{flex-direction:column!important;align-items:start;white-space:normal!important}
.foundation-detail-table td:last-child button{min-width:0;font-size:12px}
.foundation-source ul{padding-left:18px}.foundation-source li{font-size:12px;margin:5px 0;line-height:1.8}
.foundation-source p{font-size:12px;margin:12px 0!important}
.foundation-list-total{font-size:13px;color:var(--muted);margin:0 0 16px}
dialog:has(.foundation-detail-table){width:min(1180px,96vw)}
@media(max-width:1000px){.foundation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-summary>p{grid-column:1/-1;padding:0}.foundation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.foundation-statistics .panelbody{padding:16px}.foundation-statistics .panelhead{padding:16px}.foundation-filters{grid-template-columns:1fr}.foundation-filters .foundation-search{grid-column:auto}.foundation-summary{gap:10px}.foundation-summary>button{padding:14px 12px}.foundation-summary strong{font-size:24px}.foundation-summary>button>span{font-size:11px}.foundation-summary-table{min-width:540px}.foundation-summary-table td,.foundation-summary-table th{padding:12px 10px}.foundation-information{padding:12px}.foundation-information .actions{flex-direction:column;align-items:stretch}.foundation-information button{text-align:left}}

/* HERO: 学员摘要把报名、金额、服务时间和原协议放到同一眼可读的范围。 */
.learner-header-summary{border-bottom:0;padding-bottom:20px}
.learner-overview{background:#fff;border:1px solid var(--line);border-top:0;padding:0 28px 20px;min-width:0}
.learner-overview-metrics{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr 1fr;margin:0;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.learner-overview-metrics>div{min-width:0;padding:0 20px}
.learner-overview-metrics>div:first-child{padding-left:0}
.learner-overview-metrics>div+div{border-left:1px solid var(--line)}
.learner-overview-metrics dt{font-size:12px;line-height:1.5;color:#61756b;margin-bottom:5px}
.learner-overview-metrics dd{font-size:24px;line-height:1.35;font-weight:650;font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere}
.learner-overview-metrics dd small{font-size:13px;font-weight:400;margin-left:5px}
.order-agent-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}
.order-agent-values>div{min-width:0}
.order-agent-values dt{font-size:12px;color:#61756b}
.order-agent-values dd{margin:4px 0 0;overflow-wrap:anywhere}
@media(max-width:600px){.order-agent-values{grid-template-columns:1fr}}
.learner-overview-note{font-size:12px;line-height:1.55;color:#61756b;margin:10px 0 0}
.learner-overview-documents{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.learner-overview-documents>summary{font-size:13px;color:var(--green);font-weight:600;cursor:pointer;line-height:1.65}
.learner-overview-documents>summary span{font-size:12px;font-weight:400;color:#61756b;margin-left:8px}
.learner-overview-documents>summary:focus-visible{outline:3px solid #ca943c;outline-offset:3px}
.learner-overview-document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-top:12px}
.learner-overview-document{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 0;border-bottom:1px solid #edf1ed}
.learner-overview-document>div{min-width:0}
.learner-overview-document p{font-size:13px;margin:0;overflow-wrap:anywhere}
.learner-overview-document small{display:block;font-size:12px;color:#61756b;overflow-wrap:anywhere}
.learner-overview-document button{flex-shrink:0;font-size:12px;padding:6px 10px}
.learner-overview-empty{font-size:13px;line-height:1.65;color:#61756b;margin:0}
@media(max-width:900px){.learner-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.learner-overview-metrics>div:nth-child(3){border-left:0;padding-left:0}.learner-overview-metrics dd{font-size:22px}.learner-overview-document-list{grid-template-columns:1fr}}
@media(max-width:600px){.learner-header-summary{padding:20px 18px 16px}.learner-overview{padding:0 18px 16px}.learner-overview-metrics>div{padding:0 10px}.learner-overview-metrics dd{font-size:19px}.learner-overview-documents>summary span{display:block;margin-left:16px}.learner-overview-document{gap:10px}}
/* Keep operating context available without pushing daily actions below the first screen. */
.workspace-info{margin:0 0 16px;color:var(--muted);font-size:12px}.workspace-info>summary{cursor:pointer;width:fit-content}.workspace-info>p{padding:10px 14px;border-left:3px solid var(--line);margin:8px 0;background:#fff}.learner-main>.content>.workspace-info{display:none}.ledger-primary-actions{margin-bottom:16px}

/* Access comparison keeps each role in one column and reveals operations on demand. */
.access-matrix-dialog{width:min(1180px,96vw);max-height:94vh;max-height:94dvh;overflow:hidden}
.access-matrix-dialog>form{display:flex;flex-direction:column;max-height:calc(94vh - 2px);max-height:calc(94dvh - 2px)}
.access-matrix-dialog .panelhead,.access-matrix-dialog .dialogfoot{flex:0 0 auto}
.access-matrix-dialog .body{min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:56px;scrollbar-gutter:stable}
.access-matrix-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;font-size:13px;line-height:1.6;color:var(--ink);margin:0 0 14px}
.access-matrix-caption>span{color:var(--muted);font-size:12px}
.access-matrix-scroll{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;overscroll-behavior:contain}
.access-matrix-table{min-width:calc(220px + var(--access-matrix-columns)*100px);font-size:12px}
.access-matrix-row{display:grid;grid-template-columns:220px repeat(var(--access-matrix-columns),minmax(100px,1fr));min-width:0;align-items:stretch}
.access-matrix-heading{position:sticky;top:0;z-index:4;background:#eaf1eb;color:#264d3f;font-weight:600;border-bottom:1px solid #ceddce}
.access-matrix-heading>.access-matrix-cell{padding:13px 8px;font-size:13px;white-space:nowrap}
.access-matrix-name{position:sticky;left:0;z-index:2;display:flex;align-items:center;min-width:0;gap:8px;padding:13px 15px;background:#fff;border-right:1px solid var(--line);line-height:1.5;overflow-wrap:anywhere}
.access-matrix-heading>.access-matrix-name{z-index:5;background:#eaf1eb;font-size:12px}
.access-matrix-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:10px 6px;border-right:1px solid #eef1ed;line-height:1.5;text-align:center;font-variant-numeric:tabular-nums}
.access-matrix-cell:last-child{border-right:0}
.access-matrix-cell>small,.access-matrix-name small{display:block;font-size:11px;line-height:1.5;color:var(--muted);font-weight:400}
.access-matrix-name small{margin-top:2px}
.access-matrix-scope{border-bottom:1px solid var(--line);background:#fafbf8}
.access-matrix-scope>.access-matrix-name{background:#fafbf8;color:var(--muted)}
.access-matrix-scope select{max-width:100%;font-size:12px;padding:5px 6px;min-height:32px;background:white}
.access-matrix-scope select:disabled{background:#f3f6f1;border-color:transparent;opacity:1;color:var(--ink)}
.access-matrix-group{border-bottom:1px solid var(--line)}
.access-matrix-group:last-child{border-bottom:0}
.access-matrix-module{list-style:none;cursor:pointer;outline-offset:-3px}
.access-matrix-module::-webkit-details-marker{display:none}
.access-matrix-module>.access-matrix-name{font-weight:600}
.access-matrix-module:hover,.access-matrix-module:hover>.access-matrix-name{background:#f5f8f3}
.access-matrix-chevron{display:block;flex:0 0 12px;font-size:22px;font-weight:400;line-height:1;color:var(--green);transform:rotate(0)}
.access-matrix-group[open]>.access-matrix-module .access-matrix-chevron{transform:rotate(90deg)}
.access-matrix-group[open]>.access-matrix-module,.access-matrix-group[open]>.access-matrix-module>.access-matrix-name{background:#f0f5ed}
.access-matrix-group[open]>.access-matrix-module{border-bottom:1px solid var(--line)}
.access-matrix-operations{background:#fbfcfa}
.access-matrix-operation+.access-matrix-operation{border-top:1px solid #edf1e9}
.access-matrix-operation>.access-matrix-name{padding:11px 15px 11px 35px;background:#fbfcfa;color:#597065}
.access-matrix-operation>.access-matrix-cell{min-height:45px}
.access-matrix-state{display:inline-block;font-size:12px;line-height:1.5}
.access-matrix-on{color:var(--green);font-weight:600}
.access-matrix-off,.access-matrix-unavailable{color:#859187}
.access-matrix-paused{background:#f6f6f0;color:#7a7e6d}
.access-matrix-paused>small{color:#8c7650}
.access-matrix-toolbar{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-end;margin:0 0 18px}
.access-matrix-role-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;border:0;padding:0;margin:0;flex:1 1 670px}
.access-matrix-role-picker>legend{font-size:12px;color:var(--muted);padding:0;margin:0 0 7px}
.access-matrix-editor label.access-matrix-role-choice{display:inline-flex!important;align-items:center;flex-direction:row;gap:6px;min-height:34px;margin:0!important;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer;font-size:12px;white-space:nowrap}
.access-matrix-editor label.access-matrix-role-choice:has(input:checked){border-color:#749e88;background:#edf4ee;color:var(--green);font-weight:600}
.access-matrix-editor label.access-matrix-role-choice>input{accent-color:var(--green);width:14px!important;height:14px!important;flex:0 0 14px!important}
.access-matrix-role-picker>button{font-size:12px;padding:6px 9px;min-height:34px}
.access-matrix-filter{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12px;color:var(--muted);flex:0 1 180px}
.access-matrix-filter select{padding:6px 9px;font-size:12px;min-height:34px;width:100%}
.access-matrix-editor label.access-matrix-check{display:inline-flex!important;flex-direction:row;align-items:center;justify-content:center;gap:6px;margin:0!important;line-height:1.5;font-size:12px;white-space:nowrap;cursor:pointer;min-height:24px}
.access-matrix-editor label.access-matrix-check>input{accent-color:var(--green);width:16px!important;height:16px!important;margin:0!important}
.access-matrix-editor label.access-matrix-check:has(input:disabled){color:#738176;cursor:default}
.access-matrix-scope-note{color:var(--muted);font-size:12px;line-height:1.65;margin:10px 0 18px}
.access-matrix-reason{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-top:18px}
.access-matrix-reason textarea{width:100%;resize:vertical}
.access-matrix-changes{border:1px solid #cbdccf;border-radius:5px;background:#f6faf5;margin:16px 0}
.access-matrix-changes>summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;padding:11px 13px;font-size:13px;font-weight:600;color:var(--green)}
.access-matrix-changes>summary>span{font-size:12px;font-weight:400}
.access-matrix-changes ul{list-style:none;margin:0;padding:0 13px 8px;max-height:220px;overflow:auto}
.access-matrix-changes li{display:grid;grid-template-columns:80px minmax(0,1fr) 130px;gap:10px;padding:8px 0;border-top:1px solid #e2ebdf;font-size:12px}
.access-matrix-changes li>span:last-child{text-align:right}
.access-matrix-changes-empty{font-size:12px;color:var(--muted);margin:16px 0}
.access-matrix-empty{font-size:13px;line-height:1.6;color:var(--muted);margin:0;padding:14px}
@media(max-width:700px){.access-matrix-dialog{width:96vw}.access-matrix-dialog .body{padding:16px}.access-matrix-row{grid-template-columns:160px repeat(var(--access-matrix-columns),minmax(94px,1fr))}.access-matrix-table{min-width:calc(160px + var(--access-matrix-columns)*94px)}.access-matrix-name{padding:10px}.access-matrix-operation>.access-matrix-name{padding-left:24px}.access-matrix-role-picker{flex-basis:100%}.access-matrix-filter{flex-basis:100%}.access-matrix-changes li{grid-template-columns:65px minmax(0,1fr)}.access-matrix-changes li>span:last-child{grid-column:2;text-align:left}.access-matrix-scroll{max-height:58vh}}

/* One vertical scroll owner: the dialog body. Keep the matrix header in that scroll context. */
.access-matrix-dialog .body{padding-top:0}
.access-matrix-dialog .access-matrix-editor{padding-top:24px}
.access-matrix-dialog .access-matrix-scroll{width:max-content;min-width:100%;max-height:none;overflow:visible}
.access-matrix-dialog .access-matrix-changes ul{max-height:none;overflow:visible}
.access-matrix-overview .access-matrix-scroll{max-height:none}
@media(max-width:700px){.access-matrix-dialog .access-matrix-editor{padding-top:16px}}

/* Role changes keep ownership decisions beside the employee being edited. */
#modalform .org-role-handoff{min-width:0;margin:22px 0 0;padding:16px;border:1px solid var(--line);border-radius:7px;background:#f8faf7}
#modalform .org-role-handoff[hidden]{display:none}
.org-role-handoff>legend{padding:0 7px;font-size:14px;font-weight:700}
.org-role-handoff>.muted{margin:0 0 14px;font-size:12px}
.org-role-assignment{padding:14px;background:#fff;border:1px solid var(--line);border-radius:6px}
.org-role-assignment+.org-role-assignment{margin-top:12px}
.org-role-assignment h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;font-size:14px}
.org-role-assignment h3 small{color:var(--muted);font-size:12px;font-weight:400}
#modalform .org-role-choice{display:flex;flex-wrap:wrap;gap:8px}
#modalform .org-role-choice>label{display:flex;flex:1 1 180px;flex-direction:row;align-items:center;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:13px;cursor:pointer}
#modalform .org-role-choice input{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--green)}
#modalform .org-role-choice>label:has(input:checked){border-color:#719b84;background:#eaf2ec;color:var(--green);font-weight:600}
#modalform .org-role-choice>label:has(input:focus-visible){outline:2px solid #ca943c;outline-offset:2px}
.org-role-summary{margin:10px 0 0;font-size:12px;color:var(--muted)}
.org-role-assignment>button{margin-top:10px;font-size:12px;padding:6px 10px}
.org-role-assignment>button[hidden]{display:none}
.org-role-handoff>.error:empty{display:none}
.staff-handoff-stats{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.staff-handoff-stats>div{flex:1 1 140px;padding:13px 16px;border:1px solid var(--line);border-radius:6px;background:#f5f8f3}
.staff-handoff-stats small,.staff-handoff-stats b{display:block}.staff-handoff-stats small{color:var(--muted);font-size:12px}.staff-handoff-stats b{margin-top:3px;font-size:20px}
.staff-handoff-impact{padding:11px 13px;border-left:3px solid #8baf9b;background:#edf3ed;color:#385b4c;font-size:12px;line-height:1.7}

/* Employee names and two everyday actions stay aligned; secondary actions expand in flow. */
.org-employees-page .stats .stat{padding:13px 18px}
.org-employees-page .stats .stat b{font-size:26px;margin:3px 0 0}
.org-employees-page>.panel>.panelbody{padding:12px 20px 20px}
.org-employees-wrap{container:org-employees / inline-size;min-width:0}
.org-employees{table-layout:fixed;width:100%}
.org-employees th,.org-employees td{padding:15px 12px;overflow-wrap:normal;word-break:normal}
.org-employees th{white-space:nowrap}
.org-employees tr:has(.org-employee-more[open])>td{vertical-align:top}
.org-employees th:nth-child(1){width:28%}.org-employees th:nth-child(2){width:17%}.org-employees th:nth-child(3){width:15%}.org-employees th:nth-child(4){width:12%}.org-employees th:nth-child(5){width:28%}
.org-employee-name{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.org-employee-name>b{font-size:14px;overflow-wrap:anywhere}
.org-employee-current{color:var(--green);background:#edf4ee;border-radius:3px;font-size:10px;padding:1px 5px;white-space:nowrap}
.org-employee-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;font-size:11px}
.org-employee-role>small{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-employee-workload span,.org-employee-workload small{display:block;white-space:nowrap;font-variant-numeric:tabular-nums}
.org-employee-primary{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}
.org-employee-primary>button,.org-employee-more>summary{padding:7px 9px;font-size:12px;line-height:1.6;white-space:nowrap;border:1px solid var(--line);border-radius:5px;background:#fff}
.org-employee-primary>button:first-child{border-color:#cbdcd2;color:var(--green)}
.org-employee-more{min-width:0}
.org-employee-more>summary{cursor:pointer;list-style:none;color:var(--muted)}
.org-employee-more>summary::-webkit-details-marker{display:none}
.org-employee-more>summary::after{content:'⌄';margin-left:6px}
.org-employee-more>summary:focus-visible{outline:3px solid #ca943c;outline-offset:3px}
.org-employee-more[open]{flex-basis:100%;margin-top:2px}
.org-employee-more[open]>summary{display:inline-block;background:#f3f7f1;color:var(--green)}
.org-employee-more[open]>summary::after{content:'⌃'}
.org-employee-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;margin-top:8px;background:#f7f9f5;border:1px solid var(--line);border-radius:5px}
.org-employee-secondary>button{font-size:12px;padding:7px 6px;line-height:1.6;white-space:normal}
.org-employee-full-account{grid-column:1/-1;min-width:0;padding-bottom:7px;border-bottom:1px solid var(--line);margin-bottom:2px;font-size:12px}
.org-employee-full-account>small{font-size:11px;margin-bottom:2px}.org-employee-full-account>span{overflow-wrap:anywhere;user-select:text}
@container org-employees (max-width:820px){
 .org-employees{display:block}.org-employees thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .org-employees tbody{display:grid;gap:12px}.org-employees tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 20px;border:1px solid var(--line);border-radius:6px;padding:16px}
 .org-employees td{display:block;padding:0;border:0;min-width:0}.org-employee-role{text-align:right}.org-employee-identity{align-self:center}
 .org-employee-workload,.org-employee-status{display:flex!important;align-items:flex-start;gap:10px;padding-top:10px!important;border-top:1px solid #edf0e9!important}
 .org-employee-workload::before,.org-employee-status::before{content:attr(data-label);font-size:12px;color:var(--muted);white-space:nowrap}
 .org-employee-actions{grid-column:1/-1;padding-top:12px!important;border-top:1px solid #edf0e9!important}
 .org-employee-more[open]{flex-basis:100%}.org-employee-secondary{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container org-employees (max-width:430px){.org-employees tr{gap:12px}.org-employee-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.org-employee-workload,.org-employee-status{flex-direction:column;gap:4px}.org-employee-name{gap:4px}.org-employee-current{font-size:9px}}
/* Individual exceptions stay in the employee's existing administration dialog. */
.staff-access-dialog{width:min(980px,96vw)}
.staff-access-dialog>form{display:flex;flex-direction:column;max-height:88vh}
.staff-access-dialog .panelhead,.staff-access-dialog .dialogfoot{flex:0 0 auto}
.staff-access-dialog .body{min-height:0;overflow:auto}
.staff-access-editor [hidden]{display:none!important}
.staff-access-identity{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.staff-access-identity>strong{font-size:17px}.staff-access-identity>span{font-size:12px;color:var(--green);background:#edf4ed;padding:3px 9px;border-radius:4px}.staff-access-identity>small{font-size:12px;color:var(--muted)}
.staff-access-mode{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;border:0;padding:0;margin:0 0 18px}
.staff-access-mode>legend,.staff-access-scopes>legend{font-size:12px;color:var(--muted);padding:0;margin:0 0 10px}
.staff-access-editor label.staff-access-check{display:inline-flex!important;flex-direction:row;align-items:center;gap:8px;margin:0!important;font-size:13px;line-height:1.6;cursor:pointer}
.staff-access-editor label.staff-access-check>input,.staff-access-editor label.staff-access-scope>input,.staff-access-editor label.staff-access-learner>input{flex:0 0 16px!important;width:16px!important;height:16px!important;accent-color:var(--green);margin:0!important;padding:0}
.staff-access-editor label.staff-access-check:has(input:disabled){cursor:default;color:#718077}
.staff-access-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
.staff-access-tabs>button{padding:7px 18px;font-size:13px}
.staff-access-tabs>button[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff}
.staff-access-scopes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0}
.staff-access-editor label.staff-access-scope{display:flex!important;align-items:flex-start;flex-direction:row;gap:9px;min-width:0;margin:0!important;padding:12px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:#fff;line-height:1.55}
.staff-access-editor label.staff-access-scope:has(input:checked){background:#f1f7ef;border-color:#749e88}
.staff-access-scope>input{margin-top:3px!important}.staff-access-scope strong{font-size:13px}.staff-access-scope small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.staff-access-note{font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0}
.staff-access-boundary,.staff-access-inherit{padding:12px 14px;background:#f4f7f1;border:1px solid var(--line);border-radius:5px;color:#5d7166;font-size:12px;line-height:1.75;margin:16px 0}
.staff-access-picker{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.staff-access-selected{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px;font-size:12px}
.staff-access-selected>strong{margin-right:4px}.staff-access-selected>button{padding:3px 8px;font-size:12px;background:#edf4ed;border-color:#d1e1d0}
.staff-access-search{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);margin-bottom:9px}
.staff-access-search>input{width:100%;font-size:13px}
.staff-access-learner-count{font-size:12px;color:var(--muted);margin:8px 0}
.staff-access-learner-list{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:#fff;overscroll-behavior:contain}
.staff-access-editor label.staff-access-learner{display:flex!important;flex-direction:row;align-items:center;gap:10px;padding:11px 13px;margin:0!important;font-size:13px;line-height:1.5;cursor:pointer}
.staff-access-learner+.staff-access-learner{border-top:1px solid #edf1e9}.staff-access-learner:has(input:checked){background:#f0f6ee}
.staff-access-learner>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}.staff-access-learner>span:last-child{font-size:12px;color:var(--muted);white-space:nowrap}
.staff-access-learner strong{font-size:13px;font-weight:600}.staff-access-learner small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.staff-access-empty{font-size:13px;color:var(--muted);line-height:1.6;padding:12px;margin:0}
.staff-access-module{border:1px solid var(--line);border-radius:6px;margin:10px 0;background:#fff}
.staff-access-module-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.staff-access-module-head>small{font-size:12px;color:var(--muted)}
.staff-access-module>details{border-top:1px solid #e8ede3;padding:0 14px 12px}
.staff-access-module>details>summary{cursor:pointer;padding:9px 0 0;color:var(--green);font-size:12px}
.staff-access-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;padding-top:14px}
.staff-access-command-grid>label{align-items:flex-start!important}.staff-access-command-grid input{margin-top:3px!important}
.staff-access-preview{border:1px solid #d7e3d4;border-radius:5px;background:#f7faf4;padding:14px;font-size:13px;line-height:1.65}
.staff-access-preview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.staff-access-preview dt{font-size:12px;color:var(--muted)}.staff-access-preview dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.staff-access-preview>p{overflow-wrap:anywhere}.staff-access-preview ul{list-style:none;margin:12px 0 0;padding:0;max-height:310px;overflow:auto}
.staff-access-preview li{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid #e1e9dc;font-size:12px}
.staff-access-preview li>strong{flex:0 1 45%;font-weight:500}.staff-access-preview li>span{text-align:right;overflow-wrap:anywhere;min-width:0;flex:1}
.staff-access-live-preview{margin-top:16px}.staff-access-live-preview>summary{color:var(--green);font-size:13px;font-weight:600;cursor:pointer}.staff-access-live-preview>.staff-access-preview{margin-top:9px}
.staff-access-reason{display:flex;flex-direction:column;gap:6px;margin-top:18px;font-size:12px}.staff-access-reason>textarea{width:100%;resize:vertical}
@media(max-width:650px){.staff-access-dialog .body{padding:16px}.staff-access-scopes{grid-template-columns:1fr}.staff-access-command-grid{grid-template-columns:1fr}.staff-access-preview dl{grid-template-columns:1fr}.staff-access-preview li{flex-direction:column;gap:3px}.staff-access-preview li>span{text-align:left}.staff-access-learner>span:last-child{white-space:normal;max-width:90px;text-align:right}}
/* Departments use the existing organization page and one scrolling dialog body. */
.org-departments-wrap{container:org-departments / inline-size;min-width:0}
.org-departments{table-layout:fixed;width:100%}
.org-departments th,.org-departments td{padding:15px 16px;word-break:normal;overflow-wrap:anywhere}
.org-departments th:first-child{width:38%}.org-departments th:nth-child(2){width:25%}.org-departments th:nth-child(3){width:14%}
.org-departments td:last-child{text-align:right}.org-departments button{white-space:nowrap;padding:7px 14px}
.department-dialog{width:min(860px,96vw);overflow:hidden}
.department-dialog>form{display:flex;flex-direction:column;max-height:88vh;overflow:hidden}
.department-dialog .panelhead,.department-dialog .dialogfoot{flex:0 0 auto}
.department-dialog .body{min-height:0;overflow:auto}
.department-editor{min-width:0}.department-editor [hidden]{display:none!important}
.department-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 6px}
.department-section-head h3{font-size:15px;margin:0}
.department-editor label.department-enable{display:flex!important;flex-direction:row;align-items:center;gap:7px;font-size:12px;margin:0}
.department-editor .department-enable input,.department-editor .department-member input{width:16px!important;height:16px!important;flex:0 0 16px;margin:0!important;padding:0;accent-color:var(--green)}
.department-note{color:var(--muted);font-size:12px;line-height:1.65;margin:8px 0 12px}
.department-search,.department-reason{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.department-reason{margin-top:18px}.department-search input,.department-reason textarea{width:100%}
.department-members-count{font-size:12px;color:var(--muted);margin:10px 0 8px}
.department-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.department-editor label.department-member{display:flex!important;flex-direction:row;align-items:center;gap:9px;border:1px solid var(--line);border-radius:5px;margin:0!important;padding:11px 12px;min-width:0;cursor:pointer;background:#fff}
.department-member:has(input:checked){background:#f1f6ef!important;border-color:#cbdcce!important}
.department-member>span{min-width:0;flex:1}.department-member b{font-size:13px;font-weight:600}.department-member small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:3px;overflow-wrap:anywhere}
.department-member>em{font-style:normal;color:var(--muted);font-size:11px;white-space:nowrap}
.department-preview{border:1px solid var(--line);background:#f7faf4;border-radius:6px;padding:16px;font-size:13px;line-height:1.65;margin-bottom:14px}
.department-preview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 14px}.department-preview dt{font-size:12px;color:var(--muted)}.department-preview dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.department-transfer-list{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.department-transfer-list>strong{font-size:12px}.department-transfer-list>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.department-transfer-list small{color:var(--muted);text-align:right;overflow-wrap:anywhere}
.department-preview>.department-note{border-top:1px solid var(--line);margin:12px 0 0;padding-top:12px}
@container org-departments (max-width:550px){.org-departments{display:block}.org-departments thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.org-departments tbody{display:grid;gap:10px}.org-departments tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid var(--line);border-radius:5px;padding:14px}.org-departments td{display:block;padding:0;border:0}.org-departments td:first-child{grid-column:1/-1}.org-departments td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:12px;margin-right:10px}.org-departments td:last-child{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--line)}}
@media(max-width:650px){.department-dialog .body{padding:16px}.department-members{grid-template-columns:1fr}.department-preview dl{grid-template-columns:1fr;gap:8px}.department-preview dl>div{display:flex;justify-content:space-between;gap:14px}.department-preview dd{margin:0;text-align:right}}

/* Keep review decisions readable when the dialog is narrow. */
.review-node-row>div:first-child{min-width:0}.review-node-row>.actions{justify-content:flex-end}.approval-return-status{overflow-wrap:anywhere}.approval-return-status h3{margin:0 0 10px}.approval-return-history .learner-note{overflow-wrap:anywhere}.approval-return-history details>summary{cursor:pointer;color:var(--green)}@media(max-width:600px){.review-node-row{align-items:flex-start;flex-wrap:wrap}.review-node-row>.actions{width:100%;justify-content:flex-start}}
