:root{--canvas:#f5f7f9;--surface:#fff;--rail:#e7edf3;--text:#222d38;--muted:#566573;--line:#ccd5dd;--blue:#456d8e;--blue-hover:#355b7a;--selected:#dce7f0;--green:#16784c;--green-bg:#e7f6ef;--amber:#8a5a00;--amber-bg:#fff4d6;--red:#a9323a;--red-bg:#fdebed;--radius:6px;--focus:#1f67a5;color-scheme:light;font-family:"Segoe UI","Microsoft YaHei UI",system-ui,sans-serif;font-size:14px;line-height:1.55;color:var(--text);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}button,.button{min-height:38px;border:1px solid transparent;border-radius:var(--radius);padding:8px 14px;background:var(--blue);color:#fff;font-weight:600;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover:not(:disabled),.button:hover{background:var(--blue-hover)}button.secondary,.button.secondary{background:var(--surface);border-color:var(--line);color:var(--text)}button.secondary:hover:not(:disabled),.button.secondary:hover{background:var(--selected)}button.quiet{background:transparent;color:var(--blue);padding-inline:8px}button.quiet:hover:not(:disabled){background:var(--selected)}button.danger{background:var(--red);color:#fff}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--blue-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{color:#102a43;background:var(--selected)}input,textarea{caret-color:var(--blue)}::placeholder{color:var(--muted);opacity:1}*{scrollbar-width:thin;scrollbar-color:#9daebb transparent}[hidden]{display:none!important}h1,h2,h3,p,dl{margin:0}h1{font-size:26px;line-height:1.3;font-weight:650}h2{font-size:19px;line-height:1.4;font-weight:650}h3{font-size:15px;font-weight:650}h2[tabindex]:focus{outline:none}p{max-width:74ch}small,.muted{color:var(--muted)}small{font-size:12px}strong{font-weight:650}.skip-link{position:fixed;top:8px;left:8px;z-index:20;transform:translateY(-150%);background:var(--surface);padding:12px}.skip-link:focus{transform:none}
.app-shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:var(--rail);padding:28px 16px 20px;display:flex;flex-direction:column;gap:30px;border-right:1px solid var(--line)}.brand{color:#253f55;text-decoration:none;display:flex;flex-direction:column;gap:4px;padding:0 10px}.brand strong{font-size:18px}.brand span{font-size:13px;color:#4a647a}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius);color:#354d63;text-decoration:none;font-weight:550;min-height:44px}.sidebar nav a:hover{background:#dae4ed}.sidebar nav a[aria-current="page"]{background:#cedfec;color:#173e5e;font-weight:650}.sidebar svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.sidebar-footer{margin-top:auto;border-top:1px solid #c4d0db;padding:18px 10px 0;display:grid;gap:6px;color:#354d63;overflow-wrap:anywhere}.sidebar-footer button{justify-self:start;padding-left:0}.workspace-shell{min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 36px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.page-header p{margin-top:7px;color:var(--muted)}main{padding:28px 36px;min-height:calc(100dvh - 190px)}.workspace-footer{color:var(--muted);font-size:12px;padding:0 36px 22px}.page{display:grid;gap:24px;min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading p{color:var(--muted);margin-top:5px}.data-summary{display:flex;flex-wrap:wrap;background:var(--surface);border-block:1px solid var(--line);padding:20px 0;gap:20px 0}.data-summary>div{padding:0 26px;min-width:150px;border-right:1px solid var(--line)}.data-summary>div:last-child{border:0}.data-summary dt{color:var(--muted);font-size:13px}.data-summary dd{margin:4px 0 0;font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.data-summary dd small{font-size:13px;font-weight:400;margin-left:5px}.two-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.two-columns>.panel{height:100%}.table-wrap{overflow-x:auto;min-width:0}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:left}th{font-weight:600;font-size:12px;letter-spacing:.01em;color:var(--muted);background:#f3f6f8}th,td{padding:12px 14px;border-bottom:1px solid #e0e6eb;vertical-align:top}td{font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr.selected{background:#edf4f9}tbody tr:hover{background:#f4f7fa}td strong{display:block;font-size:14px}td .quiet{padding:0;min-height:28px;text-align:left;justify-content:flex-start}td small{display:block;overflow-wrap:anywhere;max-width:260px}.num{text-align:right;white-space:nowrap}.badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap;background:#e9edf1;color:#465867}.badge.good{color:var(--green);background:var(--green-bg)}.badge.warn{color:var(--amber);background:var(--amber-bg)}.badge.bad{color:var(--red);background:var(--red-bg)}.badge.info{color:#1f67a5;background:#e7f2fc}.toolbar{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.toolbar label{flex:1;min-width:150px}.toolbar .short{flex:0 1 170px}.toolbar button{flex:none;margin-top:26px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:550;min-width:0}.field small{font-weight:400}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:40px;border:1px solid #8294a4;border-radius:5px;background:#fff;color:var(--text);padding:8px 10px;font-weight:400}.field textarea{resize:vertical;min-height:104px;line-height:1.6}.field input:disabled,.field select:disabled{background:#edf0f3;color:#5d6974}.field input:read-only{background:#f4f6f8}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.form-grid .full{grid-column:1/-1}.form-stack{display:grid;gap:18px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.form-error,.notice,.receipt{padding:12px 15px;border-radius:var(--radius);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.form-error{color:var(--red);background:var(--red-bg);margin-bottom:16px}.form-error:empty{display:none}.notice{background:#eaf1f7;color:#324f67}.notice.warning{background:var(--amber-bg);color:var(--amber)}.receipt{background:var(--green-bg);color:var(--green);margin-bottom:18px}.check{display:flex;align-items:flex-start;gap:9px;font-weight:400;font-size:13px}.check input{accent-color:var(--blue);width:18px;height:18px;margin-top:2px;flex:none}.empty{padding:34px 16px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:16px;margin-bottom:7px}.pagination{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:16px}.pagination span{margin-right:auto;color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.split.with-detail{grid-template-columns:minmax(300px,.85fr) minmax(400px,1.15fr)}.list-pane{min-width:0}.detail{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.detail-heading h2{overflow-wrap:anywhere}.detail-heading p{margin-top:5px;color:var(--muted);font-size:12px}.with-detail .optional-column{display:none}.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 22px;padding-bottom:8px}.tabs button{font-weight:500;background:transparent;color:var(--muted);padding:7px 10px}.tabs button[aria-selected="true"]{background:var(--selected);color:#173e5e;font-weight:650}.tabs button:hover:not(:disabled){background:#edf2f6}.definition{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 14px;font-size:13px;margin:16px 0 24px}.definition dt{color:var(--muted)}.definition dd{margin:0;overflow-wrap:anywhere}.subsection{padding-top:22px;margin-top:24px;border-top:1px solid var(--line)}.subsection h3{margin-bottom:14px}.row-list{list-style:none;padding:0;margin:0}.row-list>li{padding:15px 0;border-bottom:1px solid #e0e6eb;display:flex;align-items:start;justify-content:space-between;gap:16px}.row-list>li:last-child{border:0}.row-list p{margin-top:4px;color:var(--muted);font-size:13px}.row-list .quiet{padding-block:0}.thread{display:grid;gap:0;margin-bottom:24px}.message{padding:18px 0;border-bottom:1px solid #e0e6eb}.message header{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin-bottom:8px}.message header time{margin-left:auto}.message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.message.internal{background:#fffaec;padding-inline:12px}.attachment-list{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 0}.attachment-list a{font-size:13px;overflow-wrap:anywhere}.chart{width:100%;height:190px;display:block;color:var(--blue);margin-top:6px}.chart-maximum{font-size:12px;color:var(--muted);margin-top:16px}.chart-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:20px}.chart text{font:12px "Segoe UI","Microsoft YaHei UI",sans-serif;fill:var(--muted)}.chart rect{fill:var(--blue)}.chart line{stroke:var(--line);stroke-width:1}.status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-row p{flex:1;font-size:13px;min-width:180px}.inline-code{font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.plaintext{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#f3f6f8;padding:15px;border-radius:5px;max-height:280px;overflow:auto}.authentication{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px 24px;background:var(--canvas)}.auth-brand{display:flex;flex-direction:column;text-align:center;gap:5px;margin-bottom:30px;color:var(--muted)}.auth-brand strong{font-size:22px;color:#253f55}.auth-brand strong span{font-weight:400}.auth-content{width:100%;max-width:430px;background:var(--surface);padding:32px;border:1px solid var(--line);border-radius:8px}.auth-content h1{font-size:24px}.auth-content>p{margin-top:8px;margin-bottom:24px;color:var(--muted);font-size:13px}.auth-content form{display:grid;gap:18px}.auth-content .form-error{margin:0}.auth-links{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:20px;font-size:12px}.auth-links button{font-size:12px}.auth-footer{font-size:12px;color:var(--muted);margin-top:24px}.secret{font-family:ui-monospace,monospace;letter-spacing:.03em;overflow-wrap:anywhere;background:#edf3f8;padding:14px;margin-top:10px;user-select:all}dialog{border:0;border-radius:8px;padding:28px;max-width:520px;width:calc(100vw - 32px);box-shadow:0 12px 48px #112b4340;color:var(--text)}dialog::backdrop{background:#14283966}dialog h2{margin-bottom:16px}dialog p{margin-bottom:18px}dialog .form-actions{justify-content:flex-end}progress{width:100%;height:8px;accent-color:var(--blue);border:0}.file-field input{padding:8px;border:1px solid var(--line);width:100%}.inline-error{color:var(--red);font-size:13px}.nowrap{white-space:nowrap}
@media(min-width:1650px){main,.page-header,.workspace-footer{padding-inline:48px}.split.with-detail{grid-template-columns:minmax(400px,1fr) minmax(440px,1fr)}}
@media(max-width:1180px){.app-shell{grid-template-columns:188px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand strong{font-size:16px}main,.page-header,.workspace-footer{padding-inline:24px}.split.with-detail{grid-template-columns:minmax(0,1fr)}.split.with-detail>.list-pane{display:none}.detail{position:static;max-height:none}.two-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:16px;gap:16px}.brand{padding:0;flex-direction:row;align-items:baseline;gap:10px}.brand strong{font-size:17px}.sidebar nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:4px}.sidebar nav a{white-space:nowrap;padding:9px 12px;min-height:44px}.sidebar nav svg{width:17px;height:17px}.sidebar-footer{margin:0;padding:0;border:0;display:flex;align-items:center;justify-content:space-between;font-size:12px}.sidebar-footer button{min-height:32px;font-size:12px;padding:0}.page-header{padding:22px 18px 18px;gap:12px;align-items:flex-start}.page-header h1{font-size:23px}.page-header p{font-size:12px}main{padding:20px 16px;min-height:40vh}.workspace-footer{padding:0 16px 20px}.panel,.detail{padding:18px 16px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.field input,.field select,.field textarea{font-size:16px;min-height:44px}button,.button{min-height:44px}.toolbar{gap:10px}.toolbar label{min-width:130px}.toolbar .short{flex:1}.toolbar button{min-width:80px}.data-summary{gap:18px 0}.data-summary>div{flex:1 0 50%;min-width:0;padding:0 16px}.data-summary>div:nth-child(2n){border:0}.data-summary dd{font-size:22px}.optional-column{display:none}th,td{padding:11px 10px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading>button{flex-shrink:0}.section-heading h2{font-size:18px}.auth-content{padding:26px 22px}.authentication{padding:28px 18px}.auth-links{flex-wrap:wrap}.definition{grid-template-columns:85px minmax(0,1fr);gap:10px}.tabs{gap:2px}.tabs button{padding-inline:9px;font-size:13px}.message header{flex-wrap:wrap}.message header time{margin-left:0}.form-actions>*{flex:1}.pagination{flex-wrap:wrap}.pagination span{flex-basis:100%}.pagination button{flex:1}.detail-heading .quiet{padding:0;white-space:nowrap}.plaintext{font-size:12px}.row-list>li{flex-wrap:wrap}.chart{height:160px}td .quiet{min-height:44px}}
.program-form{margin-top:24px}.program-award{border:0;border-top:1px solid var(--line);padding:22px 0 0;margin:0;min-width:0}.program-award legend{font-size:16px;font-weight:650;padding:0 14px 0 0}.review-actions{display:flex;flex-wrap:wrap;gap:8px}.program-form>.form-actions{margin-top:0}.program-form .check{min-height:44px;align-items:center}.program-form .check input{margin-top:0}
@media(prefers-reduced-motion:no-preference){.detail{animation:detail-open .16s ease-out}@keyframes detail-open{from{transform:translateX(6px);opacity:.85}to{transform:none;opacity:1}}}

.overview-page {
  --overview-ink: #253f55;
  gap: 26px;
}
.overview-page svg {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.overview-status {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
  padding: clamp(22px, 2.5vw, 34px);
  border-radius: var(--radius);
  background: var(--overview-ink);
  color: #fff;
}
.overview-status-intro h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
  font-size: clamp(23px, 2.1vw, 32px);
  line-height: 1.25;
}
.overview-status-intro p, .overview-checks small {
  color: #d6e4ef;
}
.overview-state {
  width: 9px;
  height: 9px;
  flex: none;
  border-radius: 50%;
  background: currentColor;
}
.overview-status .is-alert { color: #ffda91; }
.overview-status .is-unknown { color: #d6e4ef; }
.overview-status .is-clear { color: #b8efd2; }
.overview-checks, .overview-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.overview-checks li + li {
  border-top: 1px solid #536e85;
}
.overview-checks a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  min-height: 44px;
  gap: 10px;
  padding: 7px 0;
  color: inherit;
  text-decoration: none;
}
.overview-checks a:hover span { text-decoration: underline; }
.overview-checks a:focus-visible { outline-color: #d6e4ef; }
.overview-checks strong {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.overview-checks small {
  display: block;
  padding: 0 28px 4px 0;
  overflow-wrap: anywhere;
}
.overview-work h2 { margin-bottom: 12px; }
.overview-groups {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.overview-group {
  min-width: 0;
  padding: 14px 16px 10px;
  border-inline-end: 1px solid var(--line);
}
.overview-group:last-child { border-inline-end: 0; }
.overview-group h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 8px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--overview-ink);
  font-size: 16px;
}
.overview-group h3 svg { color: var(--blue); }
.overview-group a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px;
  border-radius: var(--radius);
  color: var(--text);
  text-decoration: none;
}
.overview-group a svg { color: var(--blue); }
.overview-group a:hover { background: var(--canvas); }
.overview-group a:hover strong { text-decoration: underline; }
.overview-group small { display: block; }
.overview-feedback .section-heading {
  flex-wrap: wrap;
  gap: 8px 16px;
}
.overview-feedback .section-heading a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
}
.overview-feedback td { overflow-wrap: anywhere; }
.overview-totals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding-block: 15px;
  border-block: 1px solid var(--line);
}
.overview-totals h2 { font-size: 16px; }
.overview-totals dl {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
}
.overview-totals dl > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.overview-totals dt { color: var(--muted); }
.overview-totals dd {
  margin: 0;
  font-size: 17px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 960px) {
  .overview-groups { grid-auto-flow: row; }
  .overview-group {
    border-inline-end: 0;
    border-bottom: 1px solid var(--line);
  }
  .overview-group:last-child { border-bottom: 0; }
}
@media (max-width: 760px) {
  .overview-page { gap: 20px; }
  .overview-status {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 20px;
  }
  .overview-checks { border-top: 1px solid #536e85; }
  .overview-feedback th, .overview-feedback td { padding-inline: 8px; }
  .overview-feedback .optional-column { display: none; }
}

.sales-table{min-width:700px}.sales-actions{display:flex;gap:12px;align-items:center}.sales-editor .notice{max-width:none;margin-bottom:14px}.sales-editor [data-form]>.notice{margin-top:14px}

.sales-editor .form-error{grid-column:1/-1}
