.intranet-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 24px;
}
.intranet-nav a {
  padding: 10px 16px;
  border-radius: 8px;
  color: var(--text, #eaf2ff);
  text-decoration: none;
  border: 1px solid var(--border, #294569);
}
.intranet-nav a[aria-current="page"] {
  background: #176cd5;
  color: white;
  border-color: #176cd5;
}
.workspace-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin: 14px 0 28px;
}
.workspace-heading h1 {
  margin: 0 0 8px;
  font-size: 30px;
}
.workspace-heading p {
  color: var(--text-soft, #a7bdd8);
  max-width: 720px;
}
.workspace-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.workspace-empty {
  padding: 55px 25px;
  text-align: center;
}
.workspace-empty p {
  color: var(--text-soft);
}
.form-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(360px, 1fr);
  gap: 24px;
  align-items: start;
}
.form-editor {
  padding: 24px;
  border: 1px solid var(--border, #284b72);
  border-radius: 12px;
  background: var(--panel, #102344);
}
.form-editor label,
.form-editor legend {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin: 14px 0 6px;
}
.form-editor input:not([type="checkbox"]),
.form-editor textarea,
.form-editor select,
.workspace-search {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  background: var(--input-bg, #112844);
  border: 1px solid var(--border, #466385);
  border-radius: 6px;
  color: var(--text, #fff);
  font: inherit;
}
.form-editor textarea {
  resize: vertical;
}
.field-editor {
  padding: 16px;
  margin: 16px 0;
  border: 1px solid var(--border, #36567e);
  border-radius: 8px;
  background: var(--surface, #142f50);
}
.field-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.field-editor-head strong {
  font-size: 13px;
}
.field-editor-head .btn {
  padding: 6px 10px !important;
  min-height: 30px !important;
}
.field-editor .checkbox-label {
  display: flex;
  gap: 8px;
  align-items: center;
}
.form-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.form-preview {
  position: sticky;
  top: 20px;
}
.form-paper {
  background: #fff;
  color: #17283e;
  border: 1px solid #dce4ee;
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 10px 30px #1327400d;
  font-family: Inter, Arial, sans-serif;
}
.form-paper h1 {
  font-size: 28px;
  line-height: 1.25;
  margin: 12px 0 14px;
  color: #17283e;
}
.form-paper .eyebrow {
  color: #236ec1;
}
.form-intro {
  white-space: pre-line;
  line-height: 1.6;
  color: #52647b;
}
.form-help {
  font-size: 12px;
  color: #63748a;
  margin: 22px 0;
}
.form-question {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
  min-width: 0;
}
.form-question > label,
.form-question legend {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #243a53;
}
.form-question input:not([type="radio"]):not([type="checkbox"]),
.form-question textarea,
.form-question select {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #bdcbdc;
  background: #fff;
  color: #17283e;
  border-radius: 7px;
  padding: 11px 12px;
  font: inherit;
  min-height: 44px;
}
.form-question input:focus,
.form-question select:focus,
.form-question textarea:focus {
  outline: 2px solid #2374d3;
  outline-offset: 2px;
}
.form-question small {
  display: block;
  color: #5d6e85;
  margin-top: 7px;
  font-size: 12px;
}
.form-choice-list {
  display: grid;
  gap: 12px;
}
.form-choice-list label,
.form-check {
  display: flex !important;
  gap: 9px;
  align-items: center;
  font-weight: 400 !important;
}
.form-choice-list input,
.form-check input {
  accent-color: #176cd5;
  width: 18px;
  height: 18px;
}
.form-privacy {
  white-space: pre-line;
  font-size: 12px;
  color: #63748a;
  border-top: 1px solid #dce4ee;
  padding-top: 20px;
  line-height: 1.6;
}
.form-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
#form-error {
  color: #b42318;
  font-size: 14px;
}
.public-form-body {
  margin: 0;
  background: #f0f4f9 !important;
  min-height: 100vh;
  font-family: Inter, Arial, sans-serif;
}
.public-form-shell {
  max-width: 720px;
  margin: 48px auto;
  padding: 0 18px 48px;
}
.preview-notice {
  padding: 14px 18px;
  background: #fff5d8;
  color: #725309;
  border: 1px solid #edd797;
  border-radius: 8px;
  margin-bottom: 18px;
}
.form-success {
  text-align: center;
  padding: 40px 15px;
}
.form-success-icon {
  font-size: 40px;
  color: #188051;
}
.form-table-wrap {
  overflow: auto;
}
.form-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}
.form-table th,
.form-table td {
  text-align: left;
  padding: 14px;
  border-bottom: 1px solid var(--border, #34577c);
  vertical-align: top;
}
.form-table th {
  color: var(--text-soft, #a6bddb);
  font-size: 12px;
  text-transform: uppercase;
}
.form-table td p {
  margin: 6px 0;
  max-width: 420px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.form-table a {
  color: inherit;
}
.form-status {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 20px;
  background: #31455f;
  color: #dce9f8;
  font-size: 12px;
}
.form-status.live {
  background: #153e36;
  color: #8ee2b8;
}
.intranet-dialog {
  max-width: 650px;
  width: calc(100vw - 60px);
  border: 1px solid #cedbea;
  border-radius: 12px;
  padding: 28px;
  background: #fff;
  color: #17283e;
}
.intranet-dialog::backdrop {
  background: #071a34aa;
}
.form-build-dialog { max-height:calc(100dvh - 40px); overflow:auto; }
.form-build-dialog select { width:100%; margin:8px 0; }
.form-build-dialog li { margin:5px 0; }
.intranet-dialog input,
.intranet-dialog textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px;
  border: 1px solid #bdcbdc;
  border-radius: 6px;
  color: #17283e;
  background: #f6f9fc;
  margin: 10px 0 16px;
}
.intranet-dialog h2 {
  color: #17283e;
}
.workspace-toast {
  position: fixed;
  top: 85px;
  right: 24px;
  z-index: 6500;
  background: #153e36;
  color: #e5fff1;
  padding: 15px 22px;
  border-radius: 8px;
  box-shadow: 0 5px 30px #0003;
  max-width: 440px;
}
.workspace-toast.error {
  background: #7c2525;
}
.onboarding-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0;
}
.onboarding-grid a {
  color: inherit;
  text-decoration: none;
}
.onboarding-step {
  padding: 22px;
  border: 1px solid var(--border, #34577c);
  border-radius: 10px;
  background: var(--panel, #102344);
}
.onboarding-step span {
  color: #77b7ff;
  font-size: 12px;
  font-weight: 700;
}
.onboarding-step h3 {
  font-size: 17px;
  margin: 12px 0 8px;
}
.onboarding-step p {
  color: var(--text-soft, #a7bdd8);
  font-size: 13px;
  line-height: 1.6;
}
.form-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 18px;
}
.form-toolbar .workspace-search {
  max-width: 360px;
}
.form-public-footer {
  text-align: center;
  color: #62758d;
  font-size: 12px;
  padding: 20px;
}
.app-main {
  padding-bottom: 80px !important;
}
.forms-section {
  margin-top: 28px;
}
.form-paper button.btn-primary {
  background: #176cd5 !important;
  color: #fff !important;
  border: 0;
  min-height: 44px;
  padding: 10px 22px;
  border-radius: 7px;
  font: inherit;
  cursor: pointer;
}
.form-paper button:disabled {
  opacity: 0.6;
  cursor: wait;
}
.form-editor .btn:focus-visible,
.intranet-nav a:focus-visible {
  outline: 2px solid #80bdff;
  outline-offset: 3px;
}
@media (max-width: 900px) {
  .form-layout {
    grid-template-columns: 1fr;
  }
  .form-preview {
    position: static;
  }
  .workspace-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .onboarding-grid {
    grid-template-columns: 1fr;
  }
  .form-paper {
    padding: 24px;
  }
}
@media (max-width: 540px) {
  .form-field-grid {
    grid-template-columns: 1fr;
  }
  .public-form-shell {
    margin: 20px auto;
  }
  .form-paper {
    padding: 22px;
  }
  .form-table th,
  .form-table td {
    padding: 10px;
  }
  .form-editor {
    padding: 16px;
  }
  .workspace-heading h1 {
    font-size: 26px;
  }
}

body.intranet-admin .form-layout > .form-preview { grid-column:1; grid-row:1; min-width:0; }
body.intranet-admin .form-layout > .form-editor { grid-column:2; grid-row:1; min-width:0; }
body.intranet-admin .form-layout { grid-template-columns:minmax(0,1fr) 360px!important; }
@media(max-width:900px) {
 body.intranet-admin .form-layout { grid-template-columns:minmax(0,1fr)!important; }
 body.intranet-admin .form-layout > .form-editor { grid-column:1; grid-row:2; }
}

.workspace-access-state { display:grid; place-items:start center; padding:clamp(28px,7vh,80px) 20px; }
.workspace-access-card { box-sizing:border-box; width:100%; max-width:600px; padding:32px; background:var(--adm-panel,#fff); color:var(--adm-text,#263238); border:1px solid var(--adm-border,#dce1e5); border-radius:8px; box-shadow:0 8px 28px #00000008; }
.workspace-access-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:22px; border-radius:8px; font-size:26px; color:var(--adm-primary,#3c8dbc); background:var(--adm-primary-soft,#e8f2f8); }
.workspace-access-eyebrow { font-size:11px; letter-spacing:1.5px; color:var(--adm-text-soft); margin:0 0 10px; }
.workspace-access-card h1 { font-size:26px; line-height:1.25; margin:0 0 16px; }
.workspace-access-description { font-size:14px; line-height:1.7; color:var(--adm-text-soft); margin:0 0 24px; }
.workspace-access-actions { display:flex; flex-wrap:wrap; gap:10px; }
.workspace-access-details { margin-top:24px; border-top:1px solid var(--adm-border); padding-top:16px; font-size:12px; color:var(--adm-text-soft); overflow-wrap:anywhere; }
.workspace-access-details summary { cursor:pointer; }
@media(max-width:600px) { .workspace-access-card { padding:24px; } .workspace-access-card h1 { font-size:23px; } .workspace-access-actions > .btn { width:100%; text-align:center; } }

.form-inspector-tabs { display:flex; gap:4px; margin-bottom:14px; border-bottom:1px solid var(--adm-border,#dce1e5); padding-bottom:8px; }
.form-inspector-tabs .btn { flex:1; min-width:0; white-space:normal; min-height:34px; }
.form-editor > [role=tabpanel][hidden] { display:none!important; }

.form-question[hidden] { display:none!important; }

/* Question widths are scoped to the form container, including embedded forms. */
.form-paper { container-type:inline-size; }
.form-question-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:14px; align-items:start; }
.form-question-grid > .form-question { grid-column:span var(--question-span,12); overflow-wrap:anywhere; }
.form-question-grid > input[type="hidden"] { display:none; }
@container (max-width:600px) {
  .form-question-grid > .form-question { grid-column:1 / -1; }
}
@media (max-width:600px) {
  .form-question-grid > .form-question { grid-column:1 / -1; }
}

.form-container-columns{display:grid;gap:14px;align-items:start}
.form-container-zone{min-width:0}
.form-layout-container{border:1px solid var(--adm-border,#dce1e5);padding:14px;margin-bottom:18px;min-width:0;background:var(--adm-panel,#fff);color:var(--adm-text,#263238)}
.form-container-columns .form-question{width:100%;box-sizing:border-box}
.form-layout-container>strong,.form-layout-container>summary{display:block;margin-bottom:12px}
.form-layout-container>summary{display:list-item;cursor:pointer}
.form-container-columns>.form-container-zone[data-drop-parent]{min-height:80px;border:1px dashed var(--adm-border,#bdcbdc);padding:10px}
.form-drop-hint{padding:10px;font-size:12px;color:var(--adm-text-soft,#63748a);text-align:center;border:1px dashed var(--adm-border,#bdcbdc)}
.form-container-zone.ix-drop-before{outline:2px solid #00a65a;outline-offset:-2px}
@container(max-width:600px){.form-container-columns{grid-template-columns:1fr!important}}
@media(max-width:600px){.form-container-columns{grid-template-columns:1fr!important}}

.publication-audience-bar.publication-failure{border:1px solid var(--sysdash-danger,#dd4b39);border-left:5px solid var(--sysdash-danger,#dd4b39);background:var(--sysdash-danger-soft,rgba(221,75,57,.09));scroll-margin-top:100px}.publication-failure strong{font-size:1.1rem}.publication-failure .btn{margin:4px 8px 0 0}[data-collector-status].is-error{color:var(--sysdash-danger,#dd4b39);font-weight:600}
