/* API workspace, using the shared Qahse web control tokens. */
body.research-public{background:var(--ui-canvas,#f4f7f5);color-scheme:light dark}
body.research-public button.secondary{background:var(--ui-panel,#fff);color:var(--ui-accent,#1c704e);border-color:var(--ui-accent,#1c704e)}
body.research-public small{color:var(--ui-muted,#64746d)}
.research-main{width:min(1180px,calc(100% - 64px));max-width:1180px;margin:32px auto 56px;padding:0}
.research-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:0 max(32px,calc((100vw - 1280px)/2));background:var(--ui-panel,#fff);border-bottom:1px solid var(--ui-line,#dce5df)}
.research-header nav{margin:0}.research-header nav form{margin:0;display:flex;align-items:center}.research-header nav button{margin:0}
.research-eyebrow{font-size:12px;line-height:20px;letter-spacing:.12em;color:var(--ui-accent,#1c704e);margin:0 0 8px}
.research-main h1{font-size:30px;line-height:1.4;letter-spacing:-.6px;margin:0 0 10px}.research-main h2{font-size:19px;line-height:1.5;margin:0 0 16px}.research-main h3{font-size:15px;line-height:1.6;margin:0 0 10px}
.research-main p{margin:0 0 16px;line-height:1.8}.research-main .panel{margin:24px 0;padding:26px;border:1px solid var(--ui-line,#dce5df);border-radius:12px;background:var(--ui-panel,#fff)}
.research-page-heading{margin-bottom:24px}.research-page-heading>.muted{margin:0}
.research-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.research-heading>div{min-width:0}.research-heading h2{margin-bottom:8px}.research-heading p:last-child{margin-bottom:0}.research-heading form{margin:0}
.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 24px;margin:20px 0}
.research-main label{display:flex;flex-direction:column;gap:8px;min-width:0;margin:16px 0;font-size:14px;font-weight:600;line-height:1.65}.research-grid>label{margin:0}
.research-main :is(input,select,textarea){width:100%;margin:0}.research-main label>small{max-width:none;margin:0;font-weight:400;line-height:1.65}
.research-main .research-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;width:100%;font-weight:400;line-height:1.75}
.research-main .research-check input{width:18px;min-width:18px;min-height:18px;height:18px;flex:0 0 18px;margin-top:3px}.research-check span{min-width:0;flex:1}
.research-main button{margin:0}.research-main form>button{margin-top:8px}.research-main .notice{margin:18px 0;padding:14px 16px;line-height:1.8}
.research-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.research-stats .panel{margin:0;padding:22px 24px}.research-stats h2{font-size:14px;color:var(--ui-muted);font-weight:500;margin-bottom:10px}.research-stats strong{display:block;font-size:27px;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.research-stats p{font-size:12px;margin:10px 0 0}
.research-tabs{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:0 0 16px;margin:22px 0 24px;border-bottom:1px solid var(--ui-line)}.research-tabs a{font-size:14px;color:var(--ui-muted);text-decoration:none}.research-tabs a:hover{color:var(--ui-accent)}
.research-main a{color:var(--ui-accent,#1c704e)}.research-main .button:not(.secondary){color:#fff}
.research-copy{display:flex;gap:10px;align-items:center;min-width:0}.research-copy input{flex:1;min-width:0;font-family:Consolas,monospace;font-size:13px}.research-copy button{flex:none;white-space:nowrap;margin:0}
.research-main details{margin-top:16px;padding:16px 0 4px;border-top:1px solid var(--ui-line)}.research-main summary{font-weight:600;line-height:1.7;cursor:pointer;overflow-wrap:anywhere}.research-main details[open]>summary{margin-bottom:18px}
.research-main fieldset{min-width:0;margin:20px 0;padding:16px 18px;border:1px solid var(--ui-line);border-radius:8px}.research-main legend{padding:0 6px;font-weight:600;font-size:14px}
.research-main fieldset .research-check{margin:8px 0}.research-main fieldset input{min-height:18px}
.research-main code{font-family:Consolas,monospace;font-size:12px;color:var(--ui-ink);background:var(--ui-soft);padding:3px 6px;border-radius:5px;overflow-wrap:anywhere}.research-main p>code{display:inline-block;margin:3px}
.research-main pre{max-width:100%;overflow:auto;margin:14px 0;padding:16px;background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:8px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.research-main pre code{padding:0;background:none;white-space:pre-wrap}
.research-main table{font-size:13px}.research-main td{vertical-align:top;overflow-wrap:anywhere}.research-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.research-id{max-width:210px;overflow-wrap:anywhere}.research-block{display:block}
.research-apply-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.8fr);gap:24px;align-items:start}.research-apply-layout>.panel,.research-apply-layout>aside>.panel{margin-top:0}.research-apply-layout aside{min-width:0}.research-apply-layout .research-connection-guide{padding:24px}
.research-steps{display:grid;gap:16px;margin:18px 0 24px;padding-left:20px}.research-steps li{padding-left:4px;line-height:1.8}.research-steps strong{display:block;margin-bottom:3px;color:var(--ui-ink)}.research-steps p{font-size:13px;color:var(--ui-muted);margin:0}
.research-connection-guide label{font-size:12px}.research-connection-guide .research-copy{flex-wrap:wrap}.research-connection-guide .research-copy input{min-width:160px}.research-connection-guide .research-copy button{min-height:40px;font-size:12px;padding:8px 12px}
.research-key-once{border:2px solid var(--ui-accent)!important;background:var(--ui-soft)!important}.research-copy-status:empty{display:none}.research-copy-status{position:fixed;bottom:24px;right:24px;padding:10px 16px;background:#174a34;color:#fff;border-radius:8px;z-index:30;font-size:13px}
.research-catalog-list{display:flex;flex-wrap:wrap;gap:6px;max-height:320px;overflow:auto;padding:12px 0}.research-catalog-picker{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.research-catalog-picker label{min-width:240px;flex:1}.research-catalog-picker button{margin-bottom:16px}
.research-model-config-title{padding-top:24px;border-top:1px solid var(--ui-line)}.research-main .panel[id],.research-main details[id]{scroll-margin-top:80px}
.research-member-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.research-member-summary p{margin:6px 0 0}.research-member-summary .button{flex:none}
.research-proxy-settings{background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:8px;padding:18px;margin:20px 0}.research-proxy-settings>.research-grid{margin-bottom:0}.research-proxy-settings small{font-weight:400}
.admin-console .research-main{width:auto;max-width:1300px}
@media(max-width:1000px){.research-apply-layout{grid-template-columns:minmax(0,1fr)}.research-apply-layout>aside{display:grid;grid-template-columns:1fr}.research-main{width:calc(100% - 40px)}.research-member-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.research-main{width:calc(100% - 32px);margin:24px auto 36px}.research-main h1{font-size:26px}.research-main .panel{padding:20px}.research-grid,.research-stats{grid-template-columns:1fr;gap:18px}.research-header{padding:16px;flex-wrap:wrap;gap:12px}.research-header nav{gap:18px;min-height:44px;flex-wrap:wrap}.research-header nav>a{min-height:44px}.research-heading{align-items:flex-start;flex-direction:column}.research-copy{flex-wrap:wrap}.research-copy input{flex-basis:100%}.research-tabs{gap:14px}.admin-console .research-main{width:auto}}

/* The API content shares the customer portal's header, scene and main width. */
body.customer-portal .customer-api { width:100%; max-width:none; margin:0; padding:0; }
body.customer-portal .customer-api > .heading { margin:28px 0 20px; }
body.customer-portal .customer-api .heading h1 { font-size:30px; line-height:1.35; margin:0 0 8px; }
body.customer-portal .customer-api .research-stats { margin:0 0 24px; }
body.customer-portal .customer-api .research-stats > .panel { margin:0; }
body.customer-portal .customer-api .panel { box-shadow:none; }
@media(max-width:760px) { body.customer-portal .customer-api .heading h1 { font-size:26px; } }

/* The administrator's model ledger sits beside its existing configuration. */
.admin-console .research-main { max-width:1840px; }
.research-admin-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
.research-admin-workspace { min-width:0; }
.research-usage-sidebar { min-width:0; position:sticky; top:76px; max-height:calc(100dvh - 96px); overflow:auto; scrollbar-width:thin; scroll-margin-top:76px; }
.research-usage-sidebar > .panel { margin:0; padding:22px; }
.research-usage-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.research-usage-heading .research-eyebrow { font-size:10px; margin:0 0 3px; }
.research-usage-heading h2 { font-size:18px; margin:0; }
.research-usage-heading button { flex:none; min-height:40px; padding:8px 10px; font-size:12px; }
.research-main .research-usage-updated { font-size:11px; margin:12px 0 20px; }
.research-usage-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.research-usage-totals span { display:block; color:var(--ui-muted); font-size:12px; }
.research-usage-totals strong { display:block; font-size:25px; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.research-usage-breakdown { margin:14px 0 12px; font-size:12px; }
.research-usage-breakdown > div { display:flex; justify-content:space-between; gap:12px; padding:7px 0; }
.research-usage-breakdown dt,.research-model-usage-row dt { color:var(--ui-muted); }
.research-usage-breakdown dd,.research-model-usage-row dd { margin:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.research-main .research-usage-states { margin:0 0 18px; padding:10px 12px; font-size:11px; border-radius:8px; background:var(--ui-soft); }
.research-model-usage-row { margin:0; padding:18px 0; border-top:1px solid var(--ui-line); }
.research-model-usage-title { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.research-model-usage-title > div { min-width:0; }
.research-main .research-model-usage-title h3 { font-size:13px; margin:0 0 4px; overflow-wrap:anywhere; }
.research-model-usage-title span { font-size:11px; color:var(--ui-muted); }
.research-model-usage-title > strong { flex:none; font-size:13px; font-variant-numeric:tabular-nums; }
.research-model-usage-row meter { display:block; width:100%; height:8px; margin:12px 0; accent-color:var(--ui-accent); }
.research-model-usage-row meter::-webkit-meter-bar { background:var(--ui-soft); border:0; border-radius:8px; }
.research-model-usage-row meter::-webkit-meter-optimum-value { background:var(--ui-accent); border-radius:8px; }
.research-model-usage-row meter::-moz-meter-bar { background:var(--ui-accent); border-radius:8px; }
.research-model-usage-row dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; font-size:12px; }
.research-model-usage-row dl > div { display:block; min-width:0; padding:0; border:0; font-size:12px; }
.research-model-usage-row dd { margin-top:4px; }
.research-main .research-model-usage-row p { margin:8px 0 0; font-size:11px; }
.research-usage-pending { color:var(--ui-accent); }
.research-main .research-usage-empty { padding:18px 0; border-top:1px solid var(--ui-line); font-size:13px; color:var(--ui-muted); }
.research-main .research-usage-note { margin:0 0 10px; font-size:11px; }
.research-usage-details { display:inline-block; font-size:12px; padding:5px 0; }
.research-main .research-usage-status { margin:10px 0 0; padding:10px 12px; background:var(--ui-soft); border-radius:8px; font-size:12px; }
.research-usage-status:empty { display:none; }
@media(max-width:1399px) {
  .research-admin-layout { grid-template-columns:minmax(0,1fr); }
  .research-usage-sidebar { position:static; max-height:none; overflow:visible; }
  .research-model-usage-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
}
@media(max-width:760px) { .research-model-usage-list { grid-template-columns:minmax(0,1fr); } }

.research-notice-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.research-notice-picker .research-check{margin:0}.research-notice-picker span{overflow-wrap:anywhere}
.research-notice-preview{max-width:1180px}.research-notice-details{display:grid;gap:16px;margin:20px 0}
.research-notice-details dt{color:var(--ui-muted);font-size:13px}.research-notice-details dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.research-notice-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.research-main .research-model-limit-note{font-size:12px;line-height:1.8}
@media(max-width:640px){.research-notice-picker{grid-template-columns:minmax(0,1fr)}}

.research-delete{border-top:1px solid var(--ui-line,#dce5df);margin-top:1.25rem;padding-top:1rem}
.research-delete>summary{color:var(--ui-muted,#64746d);font-weight:600}
.research-delete form{margin-top:1rem}

.research-delete button.danger{background:#b42318;border-color:#b42318;color:#fff}

/* Public research registration shares the wind-farm scene with trial signup. */
.research-registration-layout { display: grid; }
.research-scene-page .research-scene-content {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.research-scene-page .research-apply-layout { display: block; }
.research-scene-page .research-scene-content .panel { margin: 0 0 24px; }
.research-scene-page .research-scene-content aside > p {
  padding: 0 16px;
  color: #f1f7f8;
}
.research-scene-page .research-scene-content aside > p a { color: inherit; }
.research-scene-page .trial-form select { font-size: 13px; font-weight: 400; margin-top: 7px; }
.research-scene-page .trial-form .research-check { display: flex; font-weight: 400; }
.research-scene-page .trial-form .research-copy button { align-self: stretch; }
.research-scene-page .research-connection-guide .research-steps { margin: 0 0 24px; }
.research-scene-page .research-connection-guide label { margin-top: 22px; }
.research-scene-page .research-connection-guide input { font-size: 12px; }
@media (max-width: 900px) {
  .research-scene-page .research-scene-content { order: 2; }
}
@media (forced-colors: active) {
  .research-scene-page .research-scene-content aside > p { color: CanvasText; }
}
