/* Opselith 3.7 RC18 — product-wide visual refinement baseline
   Shared visual language for flagship Builder and representative tool surfaces.
   UX/presentation only: no tenant, generation, upload or report contracts change here. */

.os37-refined{
  --os-surface:#07151d;
  --os-surface-2:#091922;
  --os-surface-3:#0b1d27;
  --os-line:rgba(104,178,211,.18);
  --os-line-soft:rgba(104,178,211,.10);
  --os-text:#edf7fa;
  --os-muted:#8ca4af;
  --os-muted-2:#6f8995;
  --os-accent:#65dce5;
  --os-ok:#68d9b1;
  --os-work:1040px;
  --os-narrow:780px;
  --os-radius:14px;
}
.os37-refined .tool-app-main{max-width:1240px;padding-top:0}
.os37-refined .tool-hero{padding:42px 0 26px;text-align:left;border:0}
.os37-refined .tool-hero h1{max-width:900px;margin:10px 0 8px;font-size:clamp(36px,4.5vw,54px);line-height:1.03;letter-spacing:-.045em}
.os37-refined .tool-hero>p{max-width:760px;margin:0;color:var(--os-muted);font-size:14px;line-height:1.62}
.os37-refined .tool-hero-status{justify-content:flex-start;margin-top:14px}
.os37-refined .tool-hero .eyebrow{font-size:9px;letter-spacing:.11em}

/* Shared workspace shell */
.os37-refined .tool-workspace,
.os37-refined .workspace-card,
.os37-refined .directory-user-workspace,
.os37-refined .membership-workspace,
.os37-refined .csv-compare-workspace,
.os37-refined .migration-projects-workspace,
.os37-refined .migration-active-project{
  max-width:var(--os-work);
  margin-left:auto;
  margin-right:auto;
  border:1px solid var(--os-line)!important;
  border-radius:var(--os-radius)!important;
  background:linear-gradient(180deg,rgba(9,25,34,.94),rgba(6,18,25,.96))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.18)!important;
}
.os37-refined .tool-workspace-head,
.os37-refined .password-workspace-head,
.os37-refined .jwt-workspace-head,
.os37-refined .workspace-head{
  padding:20px 22px 17px!important;
  border-bottom:1px solid var(--os-line-soft)!important;
  background:transparent!important;
}
.os37-refined .tool-workspace-head h2,
.os37-refined .password-workspace-head h2,
.os37-refined .jwt-workspace-head h2,
.os37-refined .workspace-head h2{font-size:22px;letter-spacing:-.025em}
.os37-refined .workspace-kicker,.os37-refined .section-index{font-size:8px;letter-spacing:.11em;color:#69cdd5}
.os37-refined .workspace-state{border-color:rgba(104,217,177,.25);background:rgba(28,94,73,.11)}

/* Inputs + actions */
.os37-refined .field{margin-bottom:16px}
.os37-refined .field label{margin-bottom:7px;color:#b9cdd5;font-size:12px;font-weight:650}
.os37-refined input:not([type=checkbox]):not([type=radio]):not([type=file]),
.os37-refined select,
.os37-refined textarea{
  min-height:48px;
  border:1px solid #315a6c;
  border-radius:10px;
  background:#061720;
  color:var(--os-text);
  font-size:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
}
.os37-refined textarea{line-height:1.6}
.os37-refined input:focus,.os37-refined select:focus,.os37-refined textarea:focus{
  outline:none;
  border-color:#62d9e3;
  box-shadow:0 0 0 3px rgba(97,244,255,.08);
}
.os37-refined .btn,.os37-refined button{min-height:42px;border-radius:9px;padding:9px 14px;font-size:13px}
.os37-refined .primary{background:#e5f6f9;color:#071018;border-color:#dff6f8;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.os37-refined .actions{gap:9px}
.os37-refined .muted,.os37-refined .field-note,.os37-refined .field-hint,.os37-refined .section-hint{color:var(--os-muted-2)}

/* Compact, consistent check controls */
.os37-refined .option,
.os37-refined .toggle-row{
  gap:10px;
  border-color:var(--os-line-soft);
  background:rgba(6,22,30,.35);
}
.os37-refined .option input[type=checkbox],
.os37-refined .toggle-row input[type=checkbox]{
  appearance:none;
  display:grid;
  place-items:center;
  flex:0 0 18px;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid #668692;
  border-radius:5px;
  background:#06141c;
}
.os37-refined .option input[type=checkbox]::before,
.os37-refined .toggle-row input[type=checkbox]::before{
  content:"";
  width:8px;height:5px;
  border-left:2px solid #06141c;
  border-bottom:2px solid #06141c;
  transform:rotate(-45deg) scale(0);
}
.os37-refined .option input[type=checkbox]:checked,
.os37-refined .toggle-row input[type=checkbox]:checked{border-color:#69dfe7;background:#69dfe7}
.os37-refined .option input[type=checkbox]:checked::before,
.os37-refined .toggle-row input[type=checkbox]:checked::before{transform:rotate(-45deg) scale(1)}
.os37-refined .conditional-card{border-color:var(--os-line-soft);border-radius:11px;background:rgba(6,21,29,.36);padding:14px 15px}
.os37-refined .toggle-content{border-top-color:var(--os-line-soft)}

/* Metrics and results: fewer heavy cards */
.os37-refined .metric{border-color:var(--os-line-soft);background:rgba(6,20,28,.42);border-radius:10px;text-align:left;padding:13px 14px}
.os37-refined .metric strong{font-size:18px}
.os37-refined .metric small{font-size:10px}
.os37-refined .status{font-size:12px}
.os37-refined .tool-nav-cta{max-width:var(--os-work);margin-left:auto;margin-right:auto}
.os37-refined .os34-tool-details{max-width:var(--os-work);margin-left:auto;margin-right:auto}

/* File/drop zones */
.os37-refined .csv-dropzone,
.os37-refined .doctor-dropzone,
.os37-refined .converter-dropzone,
.os37-refined .migration-map-dropzone,
.os37-refined .drop-zone{
  border-color:#31596b!important;
  border-radius:12px!important;
  background:radial-gradient(circle at 50% 0,rgba(97,244,255,.055),transparent 52%),#07141c!important;
  box-shadow:none!important;
}
.os37-refined .csv-dropzone:hover,
.os37-refined .doctor-dropzone:hover,
.os37-refined .converter-dropzone:hover,
.os37-refined .migration-map-dropzone:hover,
.os37-refined .drop-zone:hover{border-color:#5fcbd5!important}
.os37-refined .drop-icon{font-size:25px;color:#75dbe3}

/* Step indicators shared by file tools */
.os37-refined .generator-steps,
.os37-refined .password-flow,
.os37-refined .jwt-flow,
.os37-refined .converter-flow,
.os37-refined .naming-workflow{gap:8px}
.os37-refined .generator-step,
.os37-refined .password-step,
.os37-refined .jwt-step,
.os37-refined .converter-step,
.os37-refined .workflow-step{border-radius:9px}

/* Password Generator */
.os37-refined .password-workspace{overflow:hidden}
.os37-refined .password-panel{padding:22px!important}
.os37-refined .password-rule-card,.os37-refined .password-phrase-card{border-color:var(--os-line-soft)!important;background:rgba(6,22,30,.34)!important;border-radius:11px!important}
.os37-refined .password-result-shell{border-color:rgba(97,244,255,.22)!important;background:#06131a!important;border-radius:12px!important}
.os37-refined .password-output-actions{gap:8px}

/* JWT */
.os37-refined .jwt-workspace{overflow:hidden}
.os37-refined .jwt-input-panel,.os37-refined .jwt-result-panel,.os37-refined .jwt-check-panel{padding:20px 22px!important}
.os37-refined .jwt-input-panel textarea,.os37-refined .jwt-result-panel textarea{border-radius:10px!important;background:#050f16!important}
.os37-refined .jwt-results-grid{border-color:var(--os-line-soft)!important}
.os37-refined .jwt-result-panel+.jwt-result-panel{border-color:var(--os-line-soft)!important}
.os37-refined .jwt-privacy{border-color:var(--os-line-soft)!important;background:rgba(6,20,28,.42)!important}

/* CSV Toolkit */
.os37-refined .csv-toolkit-compare-entry{max-width:var(--os-work);margin:0 auto 14px}
.os37-refined .csv-tool-workspace{padding-bottom:20px!important}
.os37-refined .csv-tool-workspace>.field,
.os37-refined .csv-tool-workspace>.options,
.os37-refined .csv-tool-workspace>.conditional-card,
.os37-refined .csv-tool-workspace>.chips,
.os37-refined .csv-tool-workspace>.file-metrics,
.os37-refined .csv-tool-workspace>.csv-expected,
.os37-refined .csv-tool-workspace>.actions,
.os37-refined .csv-tool-workspace>.status,
.os37-refined .csv-tool-workspace>.csv-result-summary,
.os37-refined .csv-tool-workspace>textarea,
.os37-refined .csv-tool-workspace>.tool-section-head,
.os37-refined .csv-tool-workspace>.workspace-divider{margin-left:22px;margin-right:22px}
.os37-refined .csv-tool-workspace>.options{gap:8px}
.os37-refined .csv-tool-workspace .option{padding:9px 11px;border-radius:9px}
.os37-refined .csv-expected{border-color:var(--os-line-soft)!important;background:rgba(6,21,29,.38)!important;border-radius:10px!important}

/* CSV Doctor */
.os37-refined .doctor-dropzone{margin:18px 22px!important;min-height:190px!important}
.os37-refined .doctor-status{margin:0 22px 18px!important}
.os37-refined .doctor-diagnosis,.os37-refined .doctor-config,.os37-refined .doctor-output{max-width:var(--os-work);margin-left:auto;margin-right:auto}
.os37-refined .doctor-config-grid{gap:14px!important}
.os37-refined .doctor-plan{border-color:var(--os-line-soft)!important;background:rgba(6,21,29,.38)!important}

/* Converter */
.os37-refined .converter-workspace{overflow:hidden}
.os37-refined .converter-input-panel,.os37-refined .converter-config-panel,.os37-refined .converter-action-block,.os37-refined .converter-output-panel{border-color:var(--os-line-soft)!important;background:transparent!important}
.os37-refined .converter-dropzone{min-height:180px!important}
.os37-refined .converter-result-summary{border-color:var(--os-line-soft)!important;background:rgba(6,22,30,.38)!important}
.os37-refined .converter-guide{max-width:var(--os-work);margin-left:auto;margin-right:auto}

/* Naming Builder */
.os37-refined .naming-app .workspace-card{overflow:hidden}
.os37-refined .naming-app .tool-section{margin-top:16px!important}
.os37-refined .naming-app .advanced-panel,.os37-refined .naming-app .policy-preview,.os37-refined .naming-app .results-panel{border-color:var(--os-line-soft)!important;background:rgba(6,21,29,.35)!important;border-radius:10px!important}
.os37-refined .naming-app .live-preview{border-color:rgba(97,244,255,.20)!important;background:#06131a!important;border-radius:11px!important}

/* Mapping Validator */
.os37-refined .migration-map-workspace{overflow:hidden}
.os37-refined .migration-map-file-field,.os37-refined .migration-map-options,.os37-refined .migration-map-summary,.os37-refined .migration-map-preview{margin-left:22px!important;margin-right:22px!important}
.os37-refined .migration-map-results{max-width:var(--os-work);margin-left:auto;margin-right:auto}
.os37-refined .migration-map-domain-card,.os37-refined .migration-map-summary{border-color:var(--os-line-soft)!important;background:rgba(6,21,29,.36)!important;border-radius:10px!important}

/* Directory / membership / compare review family */
.os37-refined .directory-user-workspace,
.os37-refined .membership-workspace,
.os37-refined .csv-compare-workspace{overflow:hidden;padding:0!important}
.os37-refined .directory-user-panel,
.os37-refined .membership-panel,
.os37-refined .compare-panel{padding:20px 22px!important;border-color:var(--os-line-soft)!important}
.os37-refined .directory-user-config-card,
.os37-refined .directory-user-file-card,
.os37-refined .membership-config-card,
.os37-refined .membership-file-card,
.os37-refined .compare-config-card,
.os37-refined .compare-file-card,
.os37-refined .directory-user-summary-card,
.os37-refined .membership-summary-card,
.os37-refined .compare-summary-card{
  border-color:var(--os-line-soft)!important;
  border-radius:10px!important;
  background:rgba(6,21,29,.35)!important;
  box-shadow:none!important;
}
.os37-refined .directory-user-section,
.os37-refined .membership-section{max-width:var(--os-work);margin-left:auto;margin-right:auto}
.os37-refined .directory-user-preview-wrap,
.os37-refined .membership-preview-wrap,
.os37-refined .compare-preview-wrap{border-color:var(--os-line-soft)!important;border-radius:10px!important}

/* Migration Workspace: preserve architecture, refine surfaces */
.os37-refined.migration-workspace-page .migration-workspace-hero{max-width:var(--os-work);margin-left:auto;margin-right:auto;padding-top:42px;padding-bottom:24px}
.os37-refined .migration-module-card,.os37-refined .migration-tenant-card,.os37-refined .migration-next-step,.os37-refined .migration-summary-shell{
  border-color:var(--os-line-soft)!important;
  border-radius:11px!important;
  background:rgba(6,21,29,.39)!important;
  box-shadow:none!important;
}
.os37-refined .migration-active-project{padding:22px!important}


/* Opselith 3.7 RC19 — content-width normalization
   Fixes old app-shell full-width rules overriding the RC18 visual baseline. */
.os37-refined{
  --os-page:1180px;
  --os-work:1040px;
  --os-form:820px;
  --os-wide:1100px;
}

/* Tool pages should feel like focused workspaces, not full-monitor dashboards. */
body.os-app-shell.tool-app.os37-refined .ops-content>main.wrap,
body.os-app-shell.tool-app.os37-refined .tool-app-main{
  width:min(var(--os-page),calc(100% - 48px))!important;
  max-width:var(--os-page)!important;
  margin-inline:auto!important;
}
body.os-app-shell.tool-app.os37-refined .tool-app-main>.tool-hero{
  width:100%!important;
  max-width:var(--os-work)!important;
  margin-inline:auto!important;
}
body.os-app-shell.tool-app.os37-refined .tool-workspace,
body.os-app-shell.tool-app.os37-refined .workspace-card,
body.os-app-shell.tool-app.os37-refined .directory-user-workspace,
body.os-app-shell.tool-app.os37-refined .membership-workspace,
body.os-app-shell.tool-app.os37-refined .csv-compare-workspace,
body.os-app-shell.tool-app.os37-refined .migration-projects-workspace,
body.os-app-shell.tool-app.os37-refined .migration-active-project{
  width:min(100%,var(--os-work))!important;
  max-width:var(--os-work)!important;
  margin-inline:auto!important;
}

/* Generic step flows must follow the workspace width instead of stretching per step. */
body.tool-app.os37-refined .os34-flow-nav,
body.tool-app.os37-refined .os34-flow-progress,
body.tool-app.os37-refined .os34-flow-resume{
  width:min(100%,var(--os-work));
  max-width:var(--os-work);
  margin-left:auto;
  margin-right:auto;
}
body.tool-app.os37-refined .os34-flow-nav button{flex:1 1 0;max-width:none}

/* File tools: keep the upload and active task on one readable axis. */
body.tool-app.os37-refined .csv-toolkit-compare-entry,
body.tool-app.os37-refined .converter-guide,
body.tool-app.os37-refined .doctor-diagnosis,
body.tool-app.os37-refined .doctor-config,
body.tool-app.os37-refined .doctor-output,
body.tool-app.os37-refined .migration-map-results,
body.tool-app.os37-refined .tool-nav-cta,
body.tool-app.os37-refined .os34-tool-details{
  width:min(100%,var(--os-work));
  max-width:var(--os-work)!important;
  margin-inline:auto!important;
}

/* Exchange readiness is a migration task, not a monitor-wide dashboard. */
body.tool-app.os37-refined.exchange-readiness-page .exchange-head,
body.tool-app.os37-refined.exchange-readiness-page .exchange-project-context,
body.tool-app.os37-refined.exchange-readiness-page .exchange-input,
body.tool-app.os37-refined.exchange-readiness-page .exchange-results,
body.tool-app.os37-refined.exchange-readiness-page .exchange-about{
  width:min(100%,var(--os-work));
  max-width:var(--os-work)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}

/* Migration Workspace remains a major pillar, but its reading/step lane stays bounded. */
body.tool-app.os37-refined.migration-workspace-page .migration-workspace-hero,
body.tool-app.os37-refined.migration-workspace-page .migration-projects-workspace,
body.tool-app.os37-refined.migration-workspace-page .migration-active-project,
body.tool-app.os37-refined.migration-workspace-page .migration-about{
  width:min(100%,var(--os-wide));
  max-width:var(--os-wide)!important;
  margin-inline:auto!important;
}

@media(max-width:900px){
  body.os-app-shell.tool-app.os37-refined .ops-content>main.wrap,
  body.os-app-shell.tool-app.os37-refined .tool-app-main{width:calc(100% - 28px)!important}
}
@media(max-width:620px){
  body.os-app-shell.tool-app.os37-refined .ops-content>main.wrap,
  body.os-app-shell.tool-app.os37-refined .tool-app-main{width:calc(100% - 20px)!important}
  body.tool-app.os37-refined .os34-flow-nav{width:100%;overflow-x:auto}
}
