/* App.css */
:root {
  --navy: #182078;
  --blue: #0d47a1;
  --bright: #0097e8;
  --orange: #ff6f00;
  --bg: #f3f5f9;
  --card: #fff;
  --text: #1f2937;
  --muted: #526887;
  --border: #e4e8ef;
  --green: #22c55e;
  --warning: #f59e0b;
  --red: #ef4444;
  --purple: #7c3aed;
  --shadow: 0 10px 30px rgba(24, 32, 120, 0.07);
}

.app-shell {
  min-height: 100vh;
}

.sidebar {
  position: fixed;
  z-index: 30;
  inset: 0 auto 0 0;
  width: 270px;
  color: #fff;
  background:
    radial-gradient(circle at 25% 8%, rgba(0, 151, 232, 0.22), transparent 28%),
    linear-gradient(165deg, #172273 0%, #0a2e68 58%, #082044 100%);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  box-shadow: 12px 0 35px rgba(10, 32, 68, 0.13);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.brand img {
  width: 51px;
  height: 51px;
  object-fit: contain;
  padding: 4px;
  background: #fff;
  border-radius: 11px;
}

.brand div {
  min-width: 0;
}

.brand strong {
  display: block;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.brand span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 600;
  color: #cbd8f2;
  white-space: nowrap;
}

.sidebar nav {
  flex: 1;
  padding: 12px 10px 16px;
}

.nav-group {
  margin: 0 0 10px;
}

.nav-group > p {
  margin: 14px 12px 7px;
  color: #90afd7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.nav-group button {
  position: relative;
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #d9e5f8;
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: 5px;
  text-align: left;
  font-size: 13px;
  font-weight: 700;
  transition: 0.2s ease;
}

.nav-group button:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
}

.nav-group button:active {
  transform: scale(0.98);
}

.nav-group button.active {
  color: #fff;
  background: linear-gradient(100deg, rgba(0, 151, 232, 0.92), rgba(13, 71, 161, 0.68));
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 20px rgba(0, 151, 232, 0.18);
}

.nav-group button.active::before {
  content: '';
  position: absolute;
  left: -10px;
  width: 3px;
  height: 22px;
  border-radius: 0 4px 4px 0;
  background: var(--orange);
}

.nav-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 16px;
}

.nav-group button small {
  padding: 3px 5px;
  color: #ffe4cb;
  background: rgba(255, 111, 0, 0.24);
  border-radius: 5px;
  font-size: 8px;
  font-weight: 800;
}

.sidebar-foot {
  padding: 12px 16px 18px;
  color: #88a6ce;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 10px;
  font-weight: 700;
}

.api-pill {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  color: #cddbf0;
}

.api-pill i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #94a3b8;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, 0.12);
}

.api-pill.online i {
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.api-pill.offline i {
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(255, 111, 0, 0.12);
}

main {
  min-height: 100vh;
  margin-left: 270px;
}

.topbar {
  position: sticky;
  z-index: 20;
  top: 0;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(14px);
}

.menu-button {
  display: none;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
}

.breadcrumbs strong {
  overflow: hidden;
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.breadcrumbs b {
  color: #c8d1dc;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.icon-button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  border-radius: 11px;
  color: var(--blue);
  background: #fff;
  font-weight: 800;
}

.session {
  padding-left: 12px;
  border-left: 1px solid var(--border);
  text-align: right;
}

.session span,
.session strong {
  display: block;
}

.session span {
  color: var(--muted);
  font-size: 10px;
}

.session strong {
  margin-top: 3px;
  color: var(--text);
  font-size: 11px;
}

.avatar {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(140deg, var(--bright), var(--navy));
  border: 3px solid #e8f3ff;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
}

.page {
  width: min(1540px, 100%);
  margin: 0 auto;
  padding: 27px 28px 60px;
}

.page-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.page-heading h1 {
  margin: 3px 0 6px;
  color: #172554;
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.page-heading > div > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.eyebrow {
  margin: 0;
  color: var(--bright);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.heading-actions {
  display: flex;
  gap: 9px;
}

.button {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 800;
  transition: 0.2s ease;
}

.button:hover {
  box-shadow: 0 8px 18px rgba(13, 71, 161, 0.15);
}

.button:active {
  transform: scale(0.98);
}

.button.primary {
  color: #fff;
  background: linear-gradient(110deg, var(--bright), var(--blue));
  border-color: #087bb9;
}

.button.secondary {
  color: var(--blue);
  background: #fff;
  border-color: #cfdaea;
}

.connection-alert {
  min-height: 64px;
  padding: 12px 15px;
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #7c4210;
  background: #fff8ed;
  border: 1px solid #f6d6ab;
  border-left: 4px solid var(--orange);
  border-radius: 12px;
}

.connection-alert > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #fff;
  background: var(--orange);
  border-radius: 50%;
  font-weight: 800;
}

.connection-alert strong {
  font-size: 12px;
}

.connection-alert p {
  margin: 3px 0 0;
  font-size: 11px;
  font-weight: 600;
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.metric {
  position: relative;
  overflow: hidden;
  min-height: 105px;
  padding: 16px 16px 14px 20px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.metric::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--bright);
}

.metric.green::before { background: var(--green); }
.metric.orange::before { background: var(--orange); }
.metric.red::before { background: var(--red); }
.metric.purple::before { background: var(--purple); }

.metric > span,
.metric > small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.metric > strong {
  display: block;
  margin: 9px 0 7px;
  color: #172554;
  font-size: clamp(18px, 2vw, 27px);
  font-weight: 800;
  letter-spacing: -0.03em;
}

.metric > small {
  color: #7b8ca5;
  font-size: 9px;
}

.workspace-card,
.studio-canvas,
.preview-panel,
.core-grid article,
.settings-grid button {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.workspace-card {
  overflow: hidden;
}

.toolbar {
  min-height: 66px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
}

.segmented {
  padding: 3px;
  display: flex;
  background: #eef2f8;
  border-radius: 10px;
}

.segmented button {
  min-height: 34px;
  padding: 0 11px;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  font-size: 10px;
  font-weight: 800;
}

.segmented button.active {
  color: var(--blue);
  background: #fff;
  box-shadow: 0 3px 9px rgba(24, 32, 120, 0.1);
}

.toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search {
  min-width: 260px;
  min-height: 38px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #8090a6;
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: 9px;
}

.search input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--text);
  background: transparent;
  font-size: 11px;
}

.filter-button {
  min-height: 38px;
  padding: 0 12px;
  color: var(--muted);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 800;
}

.coa-layout {
  min-height: 540px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 335px;
}

.account-list {
  border-right: 1px solid var(--border);
}

.list-head {
  min-height: 48px;
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  background: #fafbfd;
  border-bottom: 1px solid var(--border);
  font-size: 10px;
  font-weight: 800;
}

.list-head b,
.draft-badge {
  padding: 5px 7px;
  color: #a65307;
  background: #fff1df;
  border: 1px solid #f6d3a4;
  border-radius: 6px;
  font-size: 8px;
  letter-spacing: 0.06em;
}

.account-row {
  width: 100%;
  min-height: 53px;
  padding: 6px 14px;
  display: grid;
  grid-template-columns: 24px 55px minmax(130px, 1fr) 105px 20px;
  align-items: center;
  gap: 8px;
  color: var(--text);
  background: #fff;
  border: 0;
  border-bottom: 1px solid #eef1f5;
  text-align: left;
  transition: 0.18s ease;
}

.account-row:hover,
.account-row.selected {
  background: #f4f9ff;
  box-shadow: inset 3px 0 var(--bright);
}

.account-row:active {
  transform: scale(0.995);
}

.account-node {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: var(--blue);
  background: #e8f3ff;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
}

.account-node.posting {
  color: var(--green);
  background: #eafbf0;
}

.account-code {
  color: var(--blue);
  font-size: 10px;
  font-weight: 800;
}

.account-name strong,
.account-name small {
  display: block;
}

.account-name strong {
  overflow: hidden;
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-name small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
}

.class-badge {
  justify-self: start;
  max-width: 100px;
  padding: 4px 6px;
  overflow: hidden;
  color: #1e5da7;
  background: #e9f3ff;
  border-radius: 5px;
  font-size: 8px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.class-badge.liability { color: #a85c08; background: #fff1db; }
.class-badge.equity { color: #6637a6; background: #f1e9ff; }
.class-badge.revenue { color: #08784a; background: #e4f9ef; }
.class-badge.expense,
.class-badge.cost-of-sales { color: #b33a3a; background: #ffebeb; }

.lock {
  color: #8493a9;
  font-size: 9px;
}

.account-detail {
  padding: 18px;
  background: #fbfcfe;
}

.detail-head {
  display: grid;
  grid-template-columns: 46px 1fr 28px;
  align-items: center;
  gap: 10px;
}

.account-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(140deg, var(--bright), var(--navy));
  border-radius: 12px;
  font-size: 18px;
  font-weight: 800;
}

.detail-head p,
.canvas-head p {
  margin: 0 0 3px;
  color: var(--bright);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.13em;
}

.detail-head h2,
.canvas-head h2 {
  margin: 0;
  color: #172554;
  font-size: 15px;
  font-weight: 800;
}

.detail-head span,
.canvas-head span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
}

.detail-head button {
  width: 28px;
  height: 28px;
  color: #8190a4;
  background: transparent;
  border: 0;
  font-size: 19px;
}

.detail-code {
  margin: 18px 0 12px;
  padding: 11px 13px;
  color: var(--blue);
  background: #edf6ff;
  border: 1px solid #d5eafa;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 800;
}

.account-detail dl {
  margin: 0;
}

.account-detail dl > div {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
}

.account-detail dt,
.account-detail dd {
  margin: 0;
  font-size: 9px;
  font-weight: 700;
}

.account-detail dt {
  color: var(--muted);
}

.account-detail dd {
  color: var(--text);
  text-align: right;
}

.account-detail dd.success {
  color: #088454;
}

.account-detail dd.muted {
  color: #8391a5;
}

.safety-note {
  margin-top: 14px;
  padding: 11px;
  color: #38577c;
  background: #edf6ff;
  border: 1px solid #d5e9fb;
  border-left: 3px solid var(--bright);
  border-radius: 9px;
}

.safety-note strong,
.safety-note p {
  font-size: 9px;
  font-weight: 800;
}

.safety-note p {
  margin: 4px 0 0;
  color: var(--muted);
  font-weight: 600;
  line-height: 1.5;
}

.detail-actions {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.detail-actions button {
  min-height: 36px;
  padding: 5px;
  color: var(--blue);
  background: #fff;
  border: 1px solid #d6e0ed;
  border-radius: 8px;
  font-size: 8px;
  font-weight: 800;
}

.workspace-foot {
  min-height: 52px;
  padding: 9px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  background: #fafbfd;
  border-top: 1px solid var(--border);
  font-size: 9px;
  font-weight: 700;
}

.workspace-foot > div:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
}

.workspace-foot i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
}

.publish-flow {
  display: flex;
  align-items: center;
  gap: 8px;
}

.publish-flow strong {
  padding: 5px 7px;
  color: var(--blue);
  background: #e8f3ff;
  border-radius: 6px;
}

.studio {
  display: grid;
  gap: 14px;
}

.studio-steps {
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
}

.studio-steps button {
  min-height: 48px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 9px;
}

.studio-steps button span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--muted);
  background: #eef2f7;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 800;
}

.studio-steps button strong {
  font-size: 9px;
  font-weight: 800;
}

.studio-steps button.active {
  color: var(--blue);
  background: #f0f7ff;
  border-color: #d2e9ff;
}

.studio-steps button.active span,
.studio-steps button.done span {
  color: #fff;
  background: var(--bright);
}

.studio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 14px;
}

.studio-canvas,
.preview-panel {
  overflow: hidden;
}

.canvas-head {
  min-height: 72px;
  padding: 14px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
}

.form-grid {
  min-height: 470px;
  padding: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: start;
  gap: 14px;
}

.form-grid label,
.phone-body label,
.drawer label {
  display: grid;
  gap: 6px;
}

.form-grid label > span,
.phone-body label,
.drawer label > span {
  color: #344763;
  font-size: 9px;
  font-weight: 800;
}

.form-grid input,
.form-grid select,
.form-grid textarea,
.phone-body input,
.drawer input,
.drawer select,
.drawer textarea {
  width: 100%;
  min-height: 42px;
  padding: 0 11px;
  color: var(--text);
  background: #fbfcfe;
  border: 1px solid var(--border);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 600;
}

.form-grid textarea,
.drawer textarea {
  min-height: 80px;
  padding-block: 10px;
  resize: vertical;
}

.form-grid .full {
  grid-column: 1 / -1;
}

.effect-warning {
  min-height: 64px;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #74400f;
  background: #fff8ed;
  border: 1px solid #f8d5a6;
  border-radius: 11px;
}

.effect-warning .effect-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #fff;
  background: var(--orange);
  border-radius: 10px;
}

.effect-warning strong {
  font-size: 10px;
}

.effect-warning p {
  margin: 3px 0 0;
  color: #926535;
  font-size: 9px;
  font-weight: 600;
}

.effect-warning > span {
  margin-left: auto;
  padding: 4px 6px;
  color: #9d5105;
  background: #ffe8c5;
  border-radius: 5px;
  font-size: 8px;
  font-weight: 800;
}

.field-builder {
  min-height: 470px;
  display: grid;
  grid-template-columns: 180px 1fr;
}

.palette {
  padding: 15px;
  display: grid;
  align-content: start;
  gap: 7px;
  background: #f8fafc;
  border-right: 1px solid var(--border);
}

.palette strong {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
}

.palette button {
  min-height: 35px;
  color: #344763;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 9px;
  font-weight: 700;
  text-align: left;
}

.field-canvas {
  padding: 14px;
}

.field-head {
  margin-bottom: 9px;
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.field-row {
  min-height: 39px;
  padding: 5px 8px;
  display: grid;
  grid-template-columns: 18px 24px minmax(120px, 1fr) 90px 28px;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 5px;
}

.field-row > span {
  color: #a1adbc;
  font-size: 8px;
}

.field-row b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: var(--blue);
  background: #edf6ff;
  border-radius: 6px;
  font-size: 8px;
}

.field-row strong {
  font-size: 9px;
}

.field-row small {
  color: var(--muted);
  font-size: 8px;
}

.field-row button {
  border: 0;
  background: transparent;
}

.workflow {
  min-height: 470px;
  padding: 32px 20px;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  gap: 7px;
}

.workflow-step {
  display: flex;
  align-items: center;
  gap: 6px;
}

.workflow-step > span {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(140deg, var(--bright), var(--blue));
  border-radius: 9px;
  font-size: 9px;
  font-weight: 800;
}

.workflow-step strong {
  max-width: 80px;
  font-size: 9px;
}

.workflow-step i {
  color: #a2adbb;
  font-style: normal;
}

.workflow .full {
  width: 100%;
  margin-top: 25px;
}

.permission-table {
  min-height: 470px;
  padding: 18px;
}

.permission-row {
  min-height: 45px;
  padding: 0 10px;
  display: grid;
  grid-template-columns: 1.5fr repeat(5, 1fr);
  align-items: center;
  border-bottom: 1px solid var(--border);
}

.permission-row.head {
  color: var(--muted);
  background: #f6f8fb;
  border-radius: 9px 9px 0 0;
}

.permission-row span {
  font-size: 9px;
  font-weight: 700;
  text-align: center;
}

.permission-row span:first-child {
  text-align: left;
  font-weight: 800;
}

.permission-table .effect-warning {
  margin-top: 18px;
}

.validation-panel {
  min-height: 470px;
  padding: 24px;
  display: grid;
  grid-template-columns: 150px 1fr;
  align-content: center;
  gap: 22px;
}

.validation-score {
  width: 140px;
  height: 140px;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--muted);
  background: #f4f6f9;
  border: 9px solid #e6eaf0;
  border-radius: 50%;
}

.validation-score.passed {
  color: #08784a;
  background: #ecfff5;
  border-color: var(--green);
}

.validation-score strong,
.validation-score span {
  display: block;
}

.validation-score strong {
  font-size: 25px;
  font-weight: 800;
}

.validation-score span {
  margin-top: 5px;
  font-size: 9px;
  font-weight: 700;
}

.check-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.check-list div {
  min-height: 34px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #44546a;
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: 7px;
  font-size: 8px;
  font-weight: 700;
}

.check-list span {
  color: var(--green);
}

.validation-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.studio-footer {
  min-height: 58px;
  padding: 8px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  border-top: 1px solid var(--border);
  font-size: 8px;
  font-weight: 600;
}

.preview-head {
  min-height: 48px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
}

.preview-head strong {
  font-size: 10px;
}

.preview-head span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

.phone {
  width: 240px;
  min-height: 465px;
  margin: 20px auto 12px;
  overflow: hidden;
  background: #f4f6f9;
  border: 7px solid #19233b;
  border-radius: 27px;
  box-shadow: 0 16px 35px rgba(25, 35, 59, 0.15);
}

.phone-top {
  min-height: 55px;
  padding: 18px 12px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  background: linear-gradient(110deg, var(--navy), var(--blue));
}

.phone-top b {
  font-size: 9px;
}

.phone-body {
  padding: 12px;
  display: grid;
  gap: 9px;
}

.phone-body input {
  min-height: 36px;
  margin-top: 4px;
  background: #fff;
  font-size: 9px;
}

.phone-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.phone-body > button {
  min-height: 40px;
  color: #fff;
  background: linear-gradient(110deg, var(--bright), var(--blue));
  border: 0;
  border-radius: 9px;
  font-size: 9px;
  font-weight: 800;
}

.preview-flags {
  padding: 0 12px 14px;
  display: flex;
  justify-content: center;
  gap: 5px;
}

.preview-flags span {
  padding: 4px 5px;
  color: #08784a;
  background: #e7faef;
  border-radius: 5px;
  font-size: 7px;
  font-weight: 800;
}

.empty-dashboard {
  min-height: 360px;
  display: grid;
  place-content: center;
  text-align: center;
}

.empty-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  color: var(--bright);
  background: #e9f5ff;
  border-radius: 18px;
  font-size: 28px;
}

.empty-dashboard h2 {
  margin: 0 0 6px;
  font-size: 18px;
}

.empty-dashboard p {
  max-width: 480px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.core-grid,
.settings-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.core-grid article {
  position: relative;
  overflow: hidden;
  min-height: 195px;
  padding: 20px;
  border-left: 4px solid var(--bright);
}

.core-grid article > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(140deg, var(--bright), var(--blue));
  border-radius: 11px;
  font-size: 12px;
  font-weight: 800;
}

.core-grid h2 {
  margin: 14px 0 6px;
  color: #172554;
  font-size: 15px;
  font-weight: 800;
}

.core-grid p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.core-grid button {
  padding: 0;
  color: var(--bright);
  background: transparent;
  border: 0;
  font-size: 10px;
  font-weight: 800;
}

.settings-grid {
  grid-template-columns: repeat(2, 1fr);
}

.settings-grid button {
  min-height: 90px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 44px 1fr 20px;
  align-items: center;
  gap: 12px;
  color: var(--text);
  text-align: left;
  transition: 0.2s ease;
}

.settings-grid button:hover {
  border-color: #a9d9f8;
  box-shadow: 0 14px 32px rgba(13, 71, 161, 0.11);
}

.settings-grid button:active {
  transform: scale(0.98);
}

.settings-grid button > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--blue);
  background: #eaf5ff;
  border-radius: 12px;
}

.settings-grid strong {
  font-size: 12px;
}

.settings-grid p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.settings-grid b {
  color: #99a7b8;
  font-size: 20px;
}

.drawer-layer {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: flex;
  justify-content: flex-end;
}

.drawer-scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgba(8, 24, 52, 0.48);
  backdrop-filter: blur(2px);
}

.drawer {
  position: relative;
  z-index: 1;
  width: min(480px, 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: -20px 0 50px rgba(8, 24, 52, 0.18);
}

.drawer-head {
  min-height: 76px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
}

.drawer-head p {
  margin: 0 0 4px;
  color: var(--bright);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.drawer-head h2 {
  margin: 0;
  color: #172554;
  font-size: 18px;
}

.drawer-head button {
  width: 34px;
  height: 34px;
  color: var(--muted);
  background: #f2f5f8;
  border: 0;
  border-radius: 9px;
  font-size: 20px;
}

.drawer-body {
  flex: 1;
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 14px;
  overflow-y: auto;
}

.drawer label small {
  color: var(--muted);
  font-size: 8px;
}

.drawer .two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.drawer .check {
  display: flex;
  align-items: center;
}

.drawer .check input {
  width: 18px;
  min-height: 18px;
}

.drawer-foot {
  padding: 12px 18px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border);
}

.toast {
  position: fixed;
  z-index: 100;
  right: 24px;
  bottom: 24px;
  max-width: 420px;
  padding: 13px 16px;
  color: #fff;
  background: #172554;
  border-left: 4px solid var(--orange);
  border-radius: 11px;
  box-shadow: 0 16px 40px rgba(8, 24, 52, 0.25);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
}

.bottom-nav {
  display: none;
}

.nav-scrim {
  display: none;
}

.empty-state {
  padding: 50px 20px;
  color: var(--muted);
  text-align: center;
  font-size: 11px;
}

@media (max-width: 1180px) {
  .sidebar { width: 238px; }
  main { margin-left: 238px; }
  .brand span { font-size: 8px; }
  .coa-layout { grid-template-columns: minmax(0, 1fr) 290px; }
  .studio-grid { grid-template-columns: minmax(0, 1fr) 275px; }
  .account-row { grid-template-columns: 24px 50px minmax(120px, 1fr) 85px 16px; }
}

@media (max-width: 960px) {
  .sidebar {
    width: 270px;
    transform: translateX(-105%);
    transition: transform 0.24s ease;
  }
  .sidebar.open { transform: translateX(0); }
  .nav-scrim {
    position: fixed;
    z-index: 25;
    inset: 0;
    display: block;
    width: 100%;
    border: 0;
    background: rgba(8, 24, 52, 0.45);
  }
  main { margin-left: 0; }
  .menu-button {
    width: 42px;
    height: 42px;
    display: block;
    color: var(--blue);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 11px;
    font-weight: 800;
  }
  .breadcrumbs { display: none; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .coa-layout { grid-template-columns: 1fr; }
  .account-list { border-right: 0; }
  .account-detail { border-top: 1px solid var(--border); }
  .studio-grid { grid-template-columns: 1fr; }
  .preview-panel { display: none; }
}

@media (max-width: 680px) {
  .topbar {
    height: 62px;
    padding: 0 14px;
  }
  .session { display: none; }
  .page {
    padding: 19px 13px 92px;
  }
  .page-heading {
    align-items: start;
    flex-direction: column;
    gap: 14px;
  }
  .page-heading h1 { font-size: 24px; }
  .page-heading > div > p:last-child {
    max-width: 330px;
    font-size: 12px;
    line-height: 1.55;
  }
  .heading-actions {
    width: 100%;
  }
  .heading-actions .button {
    flex: 1;
  }
  .connection-alert {
    align-items: start;
  }
  .kpi-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .metric {
    min-height: 106px;
    padding: 13px 10px 12px 15px;
  }
  .metric > strong {
    font-size: 19px;
    overflow-wrap: anywhere;
  }
  .toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .segmented button {
    flex: 1;
    padding: 0 6px;
  }
  .toolbar-right { width: 100%; }
  .search { min-width: 0; flex: 1; }
  .account-row {
    min-height: 60px;
    grid-template-columns: 21px 47px minmax(90px, 1fr) 18px;
    gap: 5px;
    padding: 6px 9px;
  }
  .account-row .class-badge { display: none; }
  .account-name strong { font-size: 10px; }
  .account-detail { padding: 15px; }
  .workspace-foot {
    align-items: start;
    flex-direction: column;
  }
  .publish-flow {
    width: 100%;
    justify-content: space-between;
    gap: 4px;
    overflow-x: auto;
  }
  .publish-flow b { display: none; }
  .studio-steps {
    display: flex;
    overflow-x: auto;
  }
  .studio-steps button {
    min-width: 105px;
  }
  .canvas-head {
    align-items: start;
    gap: 10px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .form-grid .full { grid-column: auto; }
  .field-builder { grid-template-columns: 1fr; }
  .palette {
    display: flex;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
  .palette strong { display: none; }
  .palette button { min-width: 92px; }
  .field-canvas { padding: 10px; overflow-x: auto; }
  .field-row { min-width: 480px; }
  .workflow { padding: 25px 14px; }
  .permission-table { padding: 12px 8px; overflow-x: auto; }
  .permission-row { min-width: 550px; }
  .validation-panel {
    grid-template-columns: 1fr;
    padding: 18px 13px;
  }
  .validation-score { margin: 0 auto; }
  .check-list { grid-template-columns: 1fr; }
  .validation-actions {
    grid-column: auto;
  }
  .validation-actions .button {
    flex: 1;
  }
  .studio-footer span { display: none; }
  .core-grid,
  .settings-grid {
    grid-template-columns: 1fr;
  }
  .settings-grid button { min-height: 96px; }
  .drawer .two-col { grid-template-columns: 1fr; }
  .toast {
    right: 13px;
    bottom: 78px;
    left: 13px;
    max-width: none;
  }
  .bottom-nav {
    position: fixed;
    z-index: 22;
    inset: auto 0 0;
    min-height: 66px;
    padding: 5px 8px max(5px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(14px);
  }
  .bottom-nav button {
    min-height: 54px;
    display: grid;
    place-content: center;
    gap: 3px;
    color: var(--muted);
    background: transparent;
    border: 0;
    border-radius: 10px;
    font-size: 9px;
    font-weight: 800;
  }
  .bottom-nav button span {
    font-size: 17px;
  }
  .bottom-nav button.active {
    color: var(--blue);
    background: #edf6ff;
  }
}

@media print {
  .sidebar,
  .topbar,
  .heading-actions,
  .bottom-nav,
  .connection-alert,
  .toast {
    display: none !important;
  }
  main {
    margin: 0;
  }
  .page {
    padding: 0;
  }
  .workspace-card,
  .studio-canvas {
    box-shadow: none;
  }
}

/* COLORJET owner settings detail pages */
.owner-settings-page {
  display: grid;
  gap: 18px;
}

.owner-settings-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px;
  border: 1px solid #dbe4ef;
  border-radius: 16px;
  background: #ffffff;
}

.owner-settings-heading span {
  color: #1768b5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.owner-settings-heading h2 {
  margin: 5px 0;
  color: #10233f;
  font-size: 26px;
}

.owner-settings-heading p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  line-height: 1.6;
}

.owner-settings-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.owner-settings-actions button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
}

.owner-settings-alert {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 10px;
}

.owner-settings-alert.error {
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.owner-settings-alert.success {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.owner-settings-loading,
.owner-settings-empty {
  padding: 42px 24px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #475569;
  text-align: center;
}

.owner-settings-empty strong {
  display: block;
  color: #10233f;
  font-size: 16px;
}

.owner-settings-empty p {
  max-width: 680px;
  margin: 8px auto 0;
  line-height: 1.6;
}

.owner-settings-empty.compact {
  margin-top: 14px;
  padding: 24px;
}

.owner-setting-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.owner-setting-cards > article,
.owner-audit-sections > article {
  overflow: hidden;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 35, 65, .05);
}

.owner-setting-cards article > header,
.owner-audit-sections article > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 17px;
  border-bottom: 1px solid #e2e8f0;
}

.owner-setting-cards h3,
.owner-audit-sections h3 {
  margin: 0;
  color: #10233f;
}

.owner-setting-cards code {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 10px;
}

.owner-setting-cards header > span,
.owner-audit-sections header > strong {
  padding: 5px 9px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: #eff6ff;
  color: #145da0;
  font-size: 10px;
}

.owner-setting-cards article > p {
  margin: 0;
  padding: 14px 17px 0;
  color: #64748b;
  line-height: 1.5;
}

.owner-setting-input {
  display: grid;
  gap: 6px;
  padding: 15px 17px;
}

.owner-setting-input span {
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}

.owner-setting-input input,
.owner-setting-input select,
.owner-setting-input textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 11px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
}

.owner-setting-cards article > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 17px;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}

.owner-setting-cards footer > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.owner-setting-cards footer small {
  color: #64748b;
}

.owner-setting-cards footer button {
  min-height: 35px;
}

.owner-audit-sections {
  display: grid;
  gap: 15px;
}

.owner-audit-sections header p {
  margin: 4px 0 0;
  color: #64748b;
}

.owner-audit-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  padding: 16px;
  background: #f8fafc;
}

.owner-audit-summary > div {
  padding: 13px;
  border: 1px solid #dbe4ef;
  border-radius: 10px;
  background: #fff;
}

.owner-audit-summary span {
  display: block;
  margin-bottom: 7px;
  color: #64748b;
  font-size: 11px;
  text-transform: capitalize;
}

.owner-audit-summary strong {
  color: #10233f;
  font-size: 18px;
}

.owner-audit-issues {
  display: grid;
  gap: 9px;
  padding: 16px;
}

.owner-audit-issues > div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
}

.owner-audit-issues span {
  color: #b45309;
  font-size: 10px;
  font-weight: 800;
}

.owner-audit-issues p {
  margin: 4px 0 0;
  color: #64748b;
}

.owner-audit-sections details {
  margin: 0 16px 16px;
}

.owner-audit-sections details summary {
  cursor: pointer;
  font-weight: 700;
}

.owner-audit-sections pre,
.owner-backup-table pre {
  overflow: auto;
  max-height: 340px;
  padding: 14px;
  border-radius: 8px;
  background: #0f1f33;
  color: #dcecff;
  font-size: 11px;
}

.owner-backup-table {
  overflow-x: auto;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  background: #fff;
}

.owner-backup-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.owner-backup-table th,
.owner-backup-table td {
  padding: 11px;
  border: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
}

.owner-backup-table th {
  background: #edf4fc;
  color: #264766;
  text-transform: capitalize;
}

@media (max-width: 900px) {
  .owner-setting-cards {
    grid-template-columns: 1fr;
  }

  .owner-audit-summary {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .owner-settings-heading,
  .owner-setting-cards article > footer {
    align-items: stretch;
    flex-direction: column;
  }

  .owner-settings-actions {
    width: 100%;
  }

  .owner-settings-actions button {
    flex: 1;
  }

  .owner-audit-summary {
    grid-template-columns: 1fr;
  }
}

/* auth.css */
.auth-page{min-height:100vh;display:grid;place-items:center;background:#f4f7fb;padding:24px;color:#17253a}.auth-card{width:min(460px,100%);background:#fff;border:1px solid #dbe4ef;border-radius:20px;padding:30px;box-shadow:0 18px 60px rgba(24,52,88,.12)}.auth-card>img{display:block;max-width:160px;max-height:70px;object-fit:contain;margin:0 auto 18px}.auth-card h1,.auth-card h2{text-align:center;margin:8px 0}.auth-tagline{text-align:center;color:#53657a;margin:0 0 22px}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:7px;font-weight:700;font-size:13px}.auth-card input{width:100%;box-sizing:border-box;border:1px solid #cbd7e5;border-radius:10px;padding:12px;font:inherit;background:#fff}.auth-card input:focus{outline:2px solid #2d6fb8;outline-offset:1px}.auth-card button{border:0;border-radius:10px;padding:13px 16px;background:#164a8a;color:#fff;font-weight:800;cursor:pointer}.auth-card button:disabled{opacity:.6;cursor:wait}.auth-error{background:#fff1f1;border:1px solid #f1b8b8;color:#9d2525;padding:10px;border-radius:9px;margin:0}.auth-logout{position:fixed;z-index:1000;right:18px;top:14px;border:1px solid #cbd7e5;background:#fff;color:#1d3554;border-radius:9px;padding:8px 12px;font-weight:700;cursor:pointer}

/* customer-finance.css */
.finance-workspace{display:grid;gap:18px}.finance-hero{display:flex;justify-content:space-between;gap:24px;padding:26px;border:1px solid #dce7f2;border-radius:20px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 14px 36px rgba(31,72,119,.08)}.finance-hero h1{margin:5px 0 8px;font-size:clamp(25px,3vw,40px);color:#0d2f53}.finance-hero p{max-width:820px;margin:0;color:#53687d}.finance-kpis{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;min-width:340px}.finance-kpis article{padding:16px;border:1px solid #dce7f2;border-radius:15px;background:#fff}.finance-kpis small,.finance-form span,.finance-toolbar span{display:block;color:#6c7e90;font-size:12px;margin-bottom:5px}.finance-kpis strong{display:block;color:#163b62;margin-top:5px}.finance-tabs{display:flex;flex-wrap:wrap;gap:8px}.finance-tabs button,.finance-toolbar button{border:1px solid #cbd9e7;background:#fff;color:#244664;border-radius:10px;padding:10px 13px;font-weight:650;cursor:pointer}.finance-tabs button.active,.finance-toolbar button.primary{background:#0e5fa8;color:#fff;border-color:#0e5fa8}.finance-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px;border:1px solid #dce7f2;border-radius:14px;background:#fff}.finance-toolbar label{min-width:180px;flex:1}.finance-toolbar input,.finance-toolbar select,.finance-form input,.finance-form select{width:100%;box-sizing:border-box;border:1px solid #cbd9e7;border-radius:9px;padding:10px;background:#fff;color:#17344f}.finance-form{max-width:760px}.audit-panel{display:grid;gap:14px}.audit-summary{display:flex;align-items:center;gap:16px;padding:18px;border-radius:14px;border:1px solid #dce7f2;background:#fff}.audit-summary strong{font-size:22px}.audit-summary.pass strong{color:#08783f}.audit-summary.warn strong{color:#9b6500}.audit-summary.fail strong{color:#b42318}.audit-summary small{margin-left:auto;color:#718096}.audit-issue{padding:16px;border:1px solid #e1e8ef;border-radius:12px;background:#fff}.audit-issue>div{display:flex;justify-content:space-between;gap:12px}.audit-issue p{color:#526579}.audit-issue pre{overflow:auto;max-height:260px;background:#f5f7fa;padding:12px;border-radius:8px}.empty-state{text-align:center;padding:28px;color:#718096}@media(max-width:900px){.finance-hero{flex-direction:column}.finance-kpis{min-width:0}}@media(max-width:600px){.finance-kpis{grid-template-columns:1fr}.finance-toolbar{align-items:stretch}.finance-toolbar label{min-width:100%}.finance-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.finance-tabs button{white-space:nowrap}}

/* deployment.css */
.deployment-page{display:grid;gap:18px}.deployment-tabs{display:flex;gap:8px;flex-wrap:wrap}.deployment-tabs button{border:1px solid #d8e2ef;background:#fff;border-radius:10px;padding:9px 14px;font-weight:700}.deployment-tabs button.active{background:#0b5cab;color:#fff;border-color:#0b5cab}.deployment-summary{display:flex;justify-content:space-between;gap:12px;padding:16px;border-radius:14px;border:1px solid #d8e2ef;background:#fff}.deployment-summary.pass{border-color:#8ccaa7}.deployment-summary.warn{border-color:#e7c96b}.deployment-summary.fail{border-color:#df8d8d}.deployment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.deployment-grid article{background:#fff;border:1px solid #d8e2ef;border-radius:14px;padding:14px;display:grid;gap:8px}.deployment-grid article p{margin:0;color:#55657a}.deployment-table{overflow:auto;background:#fff;border:1px solid #d8e2ef;border-radius:14px}.deployment-table table{width:100%;border-collapse:collapse}.deployment-table th,.deployment-table td{padding:12px;border-bottom:1px solid #edf1f6;text-align:left;white-space:nowrap}.deployment-table code{font-size:11px}@media(max-width:700px){.deployment-summary{flex-direction:column}}

/* document-automation.css */
.documents-workspace{display:grid;gap:18px}.documents-hero{display:flex;justify-content:space-between;gap:24px;padding:24px;border:1px solid #dbe4ef;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(24,53,86,.07)}.documents-hero span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#52708d}.documents-hero h1{margin:6px 0 8px;color:#123f75;font-size:28px}.documents-hero p{margin:0;max-width:760px;color:#5b6b7d}.documents-actions,.documents-tabs{display:flex;gap:8px;flex-wrap:wrap}.documents-actions{align-items:flex-start}.documents-workspace button{border:1px solid #cad6e4;border-radius:10px;background:#fff;padding:9px 13px;cursor:pointer}.documents-workspace button.primary,.documents-tabs button.active{background:#164a8a;color:#fff;border-color:#164a8a}.documents-tabs{padding:6px;background:#edf3f9;border-radius:14px}.documents-alert{padding:12px 14px;border:1px solid #efb2b2;border-radius:12px;background:#fff4f4;color:#8b1e1e}.documents-empty{padding:48px;border:1px dashed #bdcada;border-radius:18px;text-align:center;color:#607185;background:#fff}.documents-table{overflow:auto;border:1px solid #dbe4ef;border-radius:16px;background:#fff}.documents-table table{border-collapse:collapse;width:100%;min-width:980px}.documents-table th,.documents-table td{padding:11px 12px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:top}.documents-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#52677c;background:#f7f9fc}.documents-preview{border:1px solid #cbd9e8;border-radius:16px;overflow:hidden;background:#fff}.documents-preview header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#eef4fb}.documents-preview iframe{width:100%;height:650px;border:0;background:#fff}.documents-modal-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.documents-scrim{position:absolute;inset:0!important;width:100%;height:100%;border:0!important;border-radius:0!important;background:rgba(16,29,45,.52)!important}.documents-modal{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.25)}.documents-modal>header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e2e8f0}.documents-modal h2{margin:0;color:#153f70}.documents-modal form{display:grid;gap:14px;padding:20px}.documents-modal label{display:grid;gap:6px}.documents-modal label span{font-size:12px;font-weight:700;color:#53677c}.documents-modal input,.documents-modal select,.documents-modal textarea{width:100%;box-sizing:border-box;border:1px solid #cbd6e2;border-radius:10px;padding:10px 11px;font:inherit}.documents-modal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.documents-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.documents-audit{display:grid;gap:8px}.documents-score,.documents-audit article{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #dbe4ef;border-radius:12px;background:#fff}.documents-score.pass{border-left:5px solid #21865b}.documents-score.warn{border-left:5px solid #c58612}.documents-score.fail{border-left:5px solid #bd3535}.documents-audit article span{font-size:11px;font-weight:800}.documents-audit article span.pass{color:#21865b}.documents-audit article span.warn{color:#a36a00}.documents-audit article span.fail{color:#bd3535}@media(max-width:800px){.documents-hero{display:grid}.documents-grid{grid-template-columns:1fr}.documents-preview iframe{height:520px}}

/* finance-treasury.css */
.ft-workspace{display:grid;gap:18px}.ft-hero{display:flex;justify-content:space-between;gap:24px;padding:28px;border:1px solid #dce5f2;border-radius:22px;background:linear-gradient(135deg,#fff,#f4f8ff);box-shadow:0 12px 32px rgba(23,50,90,.06)}.ft-hero span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1467c8}.ft-hero h1{margin:7px 0 8px;font-size:clamp(26px,3vw,40px);color:#142947}.ft-hero p{max-width:780px;margin:0;color:#5a6b82;line-height:1.65}.ft-source{min-width:220px;display:grid;align-content:center;gap:5px;padding:18px;border:1px solid #d9e6f8;border-radius:16px;background:#fff}.ft-source small{color:#728197}.ft-source strong{color:#133e76}.ft-tabs{display:flex;gap:8px;overflow:auto;padding:5px;background:#eef3f9;border-radius:14px}.ft-tabs button,.ft-toolbar button,.ft-pagination button,.ft-panel-head button,.ft-actions button{border:1px solid #d5deea;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;color:#30445e;cursor:pointer}.ft-tabs button.active,.ft-toolbar button.primary,.ft-panel-head button.primary,.ft-actions button.primary{background:#1266c5;color:#fff;border-color:#1266c5}.ft-alert{padding:13px 16px;border-radius:10px}.ft-alert.error{background:#fff0f0;color:#a32424;border:1px solid #f0c7c7}.ft-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:16px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.ft-toolbar label,.ft-form-grid label{display:grid;gap:6px}.ft-toolbar label span,.ft-form-grid label span{font-size:12px;font-weight:800;color:#53657c}.ft-toolbar input,.ft-toolbar select,.ft-form-grid input,.ft-form-grid select,.ft-form-grid textarea{min-height:42px;border:1px solid #ccd7e5;border-radius:9px;padding:9px 11px;background:#fff;color:#1e3048}.ft-form-grid textarea{min-height:90px;resize:vertical}.ft-table{overflow:auto;border:1px solid #dce5ef;border-radius:14px;background:#fff}.ft-table table{width:100%;border-collapse:collapse;min-width:880px}.ft-table th,.ft-table td{padding:13px 14px;border-bottom:1px solid #edf1f6;text-align:left;white-space:nowrap}.ft-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#617087;background:#f8fafc}.ft-table td{font-size:13px;color:#263b55}.ft-empty{padding:42px;text-align:center;color:#728197}.ft-pagination{display:flex;justify-content:space-between;align-items:center;color:#65758b}.ft-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.ft-panel-head h2{margin:0 0 5px;color:#183556}.ft-panel-head p{margin:0;color:#6a7a8f}.ft-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ft-metrics article{display:grid;gap:9px;padding:20px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.ft-metrics small{color:#6e7e91}.ft-metrics strong{font-size:24px;color:#173e70}.ft-json{padding:20px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.ft-json h3{margin-top:0;color:#213b5d}.ft-json pre{max-height:520px;overflow:auto;padding:16px;border-radius:10px;background:#101d2d;color:#dce9f8;font-size:12px;line-height:1.55}.ft-audit{display:grid;gap:14px}.ft-audit-score{display:flex;align-items:center;gap:18px;padding:22px;border-radius:14px;background:#edf8f2;border:1px solid #bfe2cc}.ft-audit-score.fail{background:#fff0f0;border-color:#efc4c4}.ft-audit-score.warn{background:#fff8e9;border-color:#ead39d}.ft-audit-score strong{font-size:28px}.ft-issues{display:grid;gap:9px}.ft-issues article{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:start;padding:15px;border:1px solid #dce5ef;border-radius:12px;background:#fff}.ft-issues article>span{font-size:11px;font-weight:900}.ft-issues p{margin:4px 0 0;color:#687991}.ft-modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.ft-scrim{position:absolute;inset:0;border:0;background:rgba(8,19,34,.62)}.ft-modal{position:relative;z-index:1;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}.ft-modal>header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid #e4eaf2}.ft-modal>header h2{margin:0;color:#183556}.ft-modal>header button{border:0;background:none;font-size:28px}.ft-modal form{padding:22px}.ft-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ft-form-grid .wide{grid-column:1/-1}.ft-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #e6ebf2}@media(max-width:900px){.ft-hero{display:grid}.ft-source{min-width:0}.ft-metrics{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ft-hero{padding:20px}.ft-metrics,.ft-form-grid{grid-template-columns:1fr}.ft-form-grid .wide{grid-column:auto}.ft-panel-head{align-items:flex-start}.ft-pagination{gap:8px;font-size:12px}.ft-tabs button{white-space:nowrap}}

/* COLORJET professional financial statements */
.ft-report-toolbar {
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.ft-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ft-report-actions button {
  min-height: 40px;
}

.ft-report-empty,
.ft-report-zero-state {
  padding: 42px 24px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  text-align: center;
}

.ft-report-empty strong,
.ft-report-zero-state strong {
  display: block;
  color: #10233f;
  font-size: 17px;
}

.ft-report-empty p,
.ft-report-zero-state p {
  margin: 8px auto 0;
  max-width: 620px;
  color: #64748b;
  line-height: 1.6;
}

.ft-report-shell {
  overflow: hidden;
  border: 1px solid #dbe4ef;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(15, 35, 65, 0.07);
}

.ft-report-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  border-bottom: 1px solid #dbe4ef;
  background: linear-gradient(135deg, #ffffff, #f4f8fd);
}

.ft-report-header img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.ft-report-header span {
  display: block;
  margin-bottom: 4px;
  color: #1768b5;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ft-report-header h2 {
  margin: 0;
  color: #10233f;
  font-size: 25px;
}

.ft-report-header p {
  margin: 5px 0 0;
  color: #64748b;
}

.ft-report-status {
  min-width: 150px;
  padding: 12px 14px;
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  background: #eff6ff;
  text-align: right;
}

.ft-report-status strong {
  display: block;
  color: #145da0;
  font-size: 12px;
}

.ft-report-status small {
  color: #64748b;
}

.ft-report-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #e2e8f0;
}

.ft-report-meta > div {
  padding: 14px 18px;
  border-right: 1px solid #e2e8f0;
}

.ft-report-meta > div:last-child {
  border-right: 0;
}

.ft-report-meta span,
.ft-report-footer span {
  display: block;
  margin-bottom: 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.ft-report-meta strong {
  color: #1e293b;
  font-size: 13px;
}

.ft-report-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(145px, 1fr));
  gap: 12px;
  padding: 18px;
  background: #f8fafc;
}

.ft-report-summary article {
  min-height: 90px;
  padding: 15px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #ffffff;
}

.ft-report-summary span {
  display: block;
  margin-bottom: 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.ft-report-summary strong {
  color: #10233f;
  font-size: 19px;
}

.ft-report-table-wrap {
  overflow-x: auto;
  padding: 18px;
}

.ft-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.ft-report-table th {
  padding: 11px 10px;
  border: 1px solid #dbe4ef;
  background: #edf4fc;
  color: #264766;
  text-align: left;
  white-space: nowrap;
}

.ft-report-table td {
  padding: 10px;
  border: 1px solid #e2e8f0;
  color: #334155;
  vertical-align: top;
}

.ft-report-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.ft-report-zero-state {
  margin: 18px;
}

.ft-report-footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 28px 22px;
  border-top: 1px solid #dbe4ef;
}

.ft-report-footer strong {
  color: #334155;
}

.ft-report-debug {
  margin: 0 18px 18px;
  border: 1px solid #dbe4ef;
  border-radius: 10px;
}

.ft-report-debug summary {
  padding: 12px 14px;
  cursor: pointer;
  color: #475569;
  font-weight: 700;
}

.ft-report-debug pre {
  overflow: auto;
  max-height: 360px;
  margin: 0;
  padding: 16px;
  border-top: 1px solid #dbe4ef;
  background: #0f1f33;
  color: #dcecff;
  font-size: 11px;
}

@media (max-width: 1050px) {
  .ft-report-summary {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  .ft-report-meta {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .ft-report-header {
    grid-template-columns: auto 1fr;
  }

  .ft-report-status {
    grid-column: 1 / -1;
    text-align: left;
  }

  .ft-report-summary,
  .ft-report-meta,
  .ft-report-footer {
    grid-template-columns: 1fr;
  }

  .ft-report-meta > div {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .ft-report-actions {
    width: 100%;
  }

  .ft-report-actions button {
    flex: 1;
  }
}

@media print {
  body * {
    visibility: hidden !important;
  }

  .ft-report-shell,
  .ft-report-shell * {
    visibility: visible !important;
  }

  .ft-report-shell {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    box-shadow: none;
  }

  .ft-report-debug {
    display: none !important;
  }

  .ft-report-table-wrap {
    overflow: visible;
  }
}

/* index.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800&family=Noto+Sans+Bengali:wght@500;600;700&display=swap');

:root {
  font-family: Inter, 'Noto Sans Bengali', system-ui, sans-serif;
  color: #1f2937;
  background: #f3f5f9;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: #f3f5f9;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(0, 151, 232, 0.25);
  outline-offset: 2px;
}

/* inventory.css */
.inventory-control .row-actions{display:flex;gap:.4rem;flex-wrap:wrap;min-width:190px}.inventory-control .notice-panel{padding:.8rem 1rem;border:1px solid currentColor;border-radius:.65rem;margin-bottom:1rem}.inventory-dialog{width:min(1120px,94vw);max-height:92vh;overflow:auto}.inventory-line{display:grid;grid-template-columns:1.35fr .7fr 1fr 1.25fr auto;gap:.65rem;align-items:end;padding:.75rem 0;border-bottom:1px solid var(--border,#dfe4ea)}.inventory-line.compact{grid-template-columns:1.5fr .8fr auto}.line-editor{border:1px solid var(--border,#dfe4ea);border-radius:.75rem;padding:1rem}.line-editor legend{font-weight:700;padding:0 .35rem}.inline-check{display:flex;align-items:center;gap:.45rem;font-size:.86rem}.detail-card{width:min(980px,94vw);max-height:90vh;overflow:auto}@media(max-width:900px){.inventory-line,.inventory-line.compact{grid-template-columns:1fr}.inventory-control .row-actions{min-width:150px}}

/* payroll.css */
.payroll-workspace{display:grid;gap:18px}.payroll-hero{display:flex;justify-content:space-between;gap:24px;padding:26px;border:1px solid #dce5ef;border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(15,47,82,.07)}.payroll-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#326da8}.payroll-hero h1{margin:7px 0;font-size:28px}.payroll-hero p{max-width:850px;margin:0;color:#5e6d7d}.payroll-actions,.row-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.payroll-workspace button{border:1px solid #cbd8e5;background:#fff;border-radius:10px;padding:9px 13px;cursor:pointer}.payroll-workspace button.primary{background:#0d5ea8;color:#fff;border-color:#0d5ea8}.payroll-tabs{display:flex;gap:8px;flex-wrap:wrap}.payroll-tabs button.active{background:#102f50;color:#fff;border-color:#102f50}.payroll-alert{padding:12px 15px;border-radius:12px;background:#fff1f1;border:1px solid #efb7b7;color:#8c2424}.payroll-empty{padding:44px;text-align:center;border:1px dashed #b9c8d8;border-radius:18px;background:#fff;color:#657587}.payroll-table{overflow:auto;background:#fff;border:1px solid #dce5ef;border-radius:16px}.payroll-table table{width:100%;border-collapse:collapse;min-width:920px}.payroll-table th,.payroll-table td{padding:12px 14px;border-bottom:1px solid #edf2f7;text-align:left;white-space:nowrap}.payroll-table th{font-size:12px;text-transform:uppercase;color:#66788a;background:#f7f9fc}.payroll-audit{display:grid;gap:10px}.payroll-score,.payroll-audit article{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.payroll-score strong{font-size:24px}.payroll-score span{flex:1}.payroll-score.pass,.payroll-audit .pass{border-left:5px solid #2d8c57}.payroll-score.warn,.payroll-audit .warn{border-left:5px solid #c58413}.payroll-score.fail,.payroll-audit .fail{border-left:5px solid #c63d3d}.payroll-audit article strong{flex:1}.payroll-modal-layer{position:fixed;inset:0;z-index:80;display:grid;place-items:center}.payroll-scrim{position:absolute;inset:0;width:100%;height:100%;border:0!important;border-radius:0!important;background:rgba(8,24,42,.55)!important}.payroll-modal,.payroll-drawer{position:relative;z-index:1;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.25)}.payroll-modal{width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto;border-radius:20px}.payroll-modal>header,.payroll-drawer>header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e5ebf2}.payroll-drawer{position:absolute;right:0;top:0;height:100%;width:min(1080px,96vw);overflow:auto;padding-bottom:30px}.payroll-form{padding:20px}.payroll-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payroll-form label{display:grid;gap:6px}.payroll-form label.wide{grid-column:1/-1}.payroll-form input,.payroll-form select,.payroll-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd8e5;border-radius:10px;padding:10px;background:#fff}.payroll-form textarea{min-height:90px}.payroll-form-actions{display:flex;justify-content:flex-end;margin-top:18px}.payroll-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px}.payroll-summary article{padding:15px;border-radius:14px;background:#f3f7fb}.payroll-summary span{display:block;color:#68798a;font-size:12px}.payroll-summary strong{display:block;margin-top:6px;font-size:20px}.payroll-drawer h3{padding:0 20px}.payroll-drawer .payroll-table{margin:0 20px}@media(max-width:760px){.payroll-hero{display:grid}.payroll-form-grid,.payroll-summary{grid-template-columns:1fr}.payroll-form label.wide{grid-column:auto}.payroll-hero h1{font-size:23px}}

/* people.css */
.people-workspace{display:grid;gap:18px}.people-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px;border:1px solid #dce4ee;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,35,64,.06)}.people-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#4f6b8b}.people-hero h1{margin:6px 0 8px;font-size:28px}.people-hero p{margin:0;color:#617085;max-width:760px}.people-actions{display:flex;gap:8px;flex-wrap:wrap}.people-workspace button{border:1px solid #cfd9e5;border-radius:10px;background:#fff;padding:9px 14px;cursor:pointer}.people-workspace button.primary{background:#0d5fbd;color:#fff;border-color:#0d5fbd}.people-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.people-tabs button.active{background:#e9f3ff;color:#0d5fbd;border-color:#90bdec}.people-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end}.people-toolbar label{display:grid;gap:5px;min-width:min(420px,100%)}.people-toolbar input,.people-form-grid input,.people-form-grid select,.people-form-grid textarea{border:1px solid #cad6e3;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}.people-toolbar div{display:grid;text-align:right}.people-toolbar div strong{font-size:24px}.people-toolbar div span,.people-form-grid label>span{font-size:12px;color:#66778b}.people-table-wrap{overflow:auto;border:1px solid #dce4ee;border-radius:16px;background:#fff}.people-table-wrap table{width:100%;border-collapse:collapse;min-width:900px}.people-table-wrap th,.people-table-wrap td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf1f5;white-space:nowrap}.people-table-wrap th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#62758a;background:#f8fafc}.people-empty{padding:40px;text-align:center;border:1px dashed #cbd7e5;border-radius:16px;color:#65768a;background:#fff}.people-alert{padding:12px 14px;border-radius:10px}.people-alert.error{background:#fff1f1;color:#9a2020;border:1px solid #f0b5b5}.people-score{display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;background:#f7f9fc;border:1px solid #d9e2ec}.people-score strong{font-size:24px}.people-score.pass strong{color:#177245}.people-score.warn strong{color:#9a6500}.people-score.fail strong{color:#b3261e}.people-score button{margin-left:auto}.people-issues{display:grid;gap:10px;margin-top:12px}.people-issues article{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:start;padding:14px;border:1px solid #e0e7ef;border-radius:12px;background:#fff}.people-issues p{margin:5px 0 0;color:#69798d}.people-modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.people-scrim{position:absolute;inset:0;border:0!important;border-radius:0!important;background:rgba(8,20,38,.55)!important}.people-modal{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.people-modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.people-modal h2{margin:0}.people-modal>header button{font-size:24px;border:0;padding:4px 10px}.people-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.people-form-grid label{display:grid;gap:6px}.people-form-grid label.wide{grid-column:1/-1}.people-form-grid textarea{min-height:90px;resize:vertical}.people-form-actions{display:flex;justify-content:flex-end;margin-top:18px}@media(max-width:760px){.people-hero{display:grid}.people-toolbar{display:grid}.people-toolbar div{text-align:left}.people-form-grid{grid-template-columns:1fr}.people-form-grid label.wide{grid-column:auto}.people-issues article{grid-template-columns:1fr}.people-score{align-items:flex-start;flex-wrap:wrap}.people-score button{margin-left:0}}

/* procurement.css */
.procurement-operations{min-width:0}.procurement-operations .module-toolbar{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border:1px solid #e4e7ec;border-bottom:0;border-radius:12px 12px 0 0}.procurement-operations .module-toolbar input{flex:1;min-width:220px}.procurement-operations .module-toolbar select{min-width:210px}.procurement-operations .data-table{width:100%;border-collapse:collapse}.procurement-operations .data-table th{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#667085;background:#f9fafb}.procurement-operations .data-table th,.procurement-operations .data-table td{padding:11px 12px;border-bottom:1px solid #eaecf0;text-align:left;vertical-align:top;white-space:nowrap}.procurement-operations .data-table td{font-size:12px;color:#344054}.procurement-operations .row-actions{display:flex;gap:6px;flex-wrap:wrap}.procurement-operations .row-actions button,.procurement-operations .module-toolbar button,.procurement-operations .pagination button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:7px 10px;font-size:11px;font-weight:700;color:#344054}.procurement-operations .row-actions button:hover,.procurement-operations .module-toolbar button:hover{border-color:#84caff;background:#eff8ff}.procurement-operations .row-actions .danger{border-color:#fecdca;color:#b42318;background:#fff6f5}.procurement-operations .toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.procurement-operations .toolbar-actions .primary,.procurement-operations .modal-actions .primary{border-color:#0077b6;background:#0077b6;color:#fff}.procurement-operations .pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}.procurement-operations .pagination span{font-size:11px;color:#667085}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(16,24,40,.62)}.modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(16,24,40,.32)}.modal-card.wide{width:min(1180px,96vw)}.modal-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;background:#fff;border-bottom:1px solid #eaecf0}.modal-head h2{margin:3px 0 0}.modal-head>button{border:0;background:#f2f4f7;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1}.modal-card>.form-grid,.modal-card>form>.form-grid{padding:20px}.procurement-form .full{grid-column:1/-1}.procurement-form input,.procurement-form select,.procurement-form textarea,.line-grid input,.line-grid select{width:100%;min-width:0;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:9px 10px;color:#101828}.procurement-form textarea{min-height:90px;resize:vertical}.line-editor{margin:0 20px 20px}.line-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f9fafb;border-bottom:1px solid #e4e7ec}.line-editor-head button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:8px 10px;font-weight:700}.line-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;align-items:end;padding:12px;border-bottom:1px solid #eaecf0}.line-grid:last-child{border-bottom:0}.line-grid label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#475467}.line-remove{align-self:end;border:1px solid #fecdca;border-radius:8px;background:#fff6f5;color:#b42318;padding:9px 10px}.modal-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;background:#fff;border-top:1px solid #eaecf0}.modal-actions button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:9px 14px;font-weight:700}.detail-json{margin:0;padding:20px;max-height:70vh;overflow:auto;background:#101828;color:#d1fadf;font-size:11px;white-space:pre-wrap}.procurement-operations .audit-panel{overflow:hidden}.procurement-operations .audit-issue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 18px;border-bottom:1px solid #eaecf0}.procurement-operations .audit-issue p{grid-column:1/-1;margin:0;color:#475467}.procurement-operations .audit-issue pre{grid-column:1/-1;max-height:260px;overflow:auto;background:#101828;color:#d1fadf;padding:12px;border-radius:8px;font-size:10px;white-space:pre-wrap}@media(max-width:760px){.procurement-operations .module-toolbar,.procurement-operations .pagination,.procurement-operations .page-heading{align-items:stretch;flex-direction:column}.procurement-operations .module-toolbar input,.procurement-operations .module-toolbar select{min-width:0;width:100%}.procurement-operations .sales-tabs{overflow-x:auto;flex-wrap:nowrap}.procurement-operations .sales-tabs button{white-space:nowrap}.modal-backdrop{padding:0}.modal-card,.modal-card.wide{width:100vw;height:100vh;max-height:100vh;border-radius:0}.procurement-form{grid-template-columns:1fr}.line-grid{grid-template-columns:1fr}.modal-actions{justify-content:stretch}.modal-actions button{flex:1}}

/* service.css */
.service-workspace{display:grid;gap:18px}.service-hero{display:flex;justify-content:space-between;gap:24px;padding:26px;border:1px solid #dce7f2;border-radius:20px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 14px 36px rgba(31,72,119,.08)}.service-hero h1{margin:5px 0 8px;font-size:clamp(25px,3vw,40px);color:#0d2f53}.service-hero p{max-width:800px;margin:0;color:#53687d}.service-kpis{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;min-width:340px}.service-kpis article{padding:16px;border:1px solid #dce7f2;border-radius:15px;background:#fff}.service-kpis small,.service-form span,.service-toolbar span{display:block;color:#6c7e90;font-size:12px;margin-bottom:5px}.service-kpis strong{display:block;color:#163b62;margin-top:5px}.service-tabs{display:flex;flex-wrap:wrap;gap:8px}.service-tabs button,.service-toolbar button,.job-actions button{border:1px solid #cbd9e7;background:#fff;color:#244664;border-radius:10px;padding:10px 13px;font-weight:650;cursor:pointer}.service-tabs button.active,.service-toolbar button.primary{background:#0e5fa8;color:#fff;border-color:#0e5fa8}.service-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px;border:1px solid #dce7f2;border-radius:14px;background:#fff}.service-toolbar label{min-width:180px;flex:1}.service-toolbar input,.service-toolbar select,.service-form input,.service-form select,.service-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd9e7;border-radius:9px;padding:10px;background:#fff;color:#17344f}.service-form{max-width:760px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.job-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 14px}.job-actions button{background:#f6f9fc}.detail-json{max-height:55vh;overflow:auto;background:#10243a;color:#e9f3ff;border-radius:12px;padding:16px;font-size:12px;white-space:pre-wrap}.audit-panel{display:grid;gap:14px}.audit-summary{display:flex;align-items:center;gap:16px;padding:18px;border-radius:14px;border:1px solid #dce7f2;background:#fff}.audit-summary strong{font-size:22px}.audit-summary.pass strong{color:#08783f}.audit-summary.warn strong{color:#9b6500}.audit-summary.fail strong{color:#b42318}.audit-summary small{margin-left:auto;color:#718096}.audit-issue{padding:16px;border:1px solid #e1e8ef;border-radius:12px;background:#fff}.audit-issue>div{display:flex;justify-content:space-between;gap:12px}.audit-issue p{color:#526579}.audit-issue pre{overflow:auto;max-height:260px;background:#f5f7fa;padding:12px;border-radius:8px}.empty-state{text-align:center;padding:28px;color:#718096}.workspace-alert.error{padding:12px;border-radius:10px;background:#fff0f0;color:#a51d1d;border:1px solid #f3c1c1}@media(max-width:900px){.service-hero{flex-direction:column}.service-kpis{min-width:0}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media(max-width:600px){.service-kpis{grid-template-columns:1fr}.service-toolbar{align-items:stretch}.service-toolbar label{min-width:100%}.service-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.service-tabs button{white-space:nowrap}}

/* workflow.css */
.workflow-workspace{padding:28px;display:grid;gap:18px}.workflow-hero{display:flex;justify-content:space-between;gap:20px;padding:24px;border:1px solid #d9e3ee;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(15,42,70,.06)}.workflow-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#315f8d}.workflow-hero h1{margin:6px 0 8px}.workflow-hero p{margin:0;color:#5b6b7c}.workflow-actions,.workflow-tabs,.workflow-form-actions{display:flex;gap:10px;align-items:center}.workflow-workspace button{border:1px solid #cbd8e5;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer}.workflow-workspace button.primary{background:#0d5ca8;color:#fff;border-color:#0d5ca8}.workflow-tabs{overflow:auto}.workflow-tabs button.active{background:#eaf3fc;border-color:#79aee0;color:#0d5ca8}.workflow-toolbar{display:flex;justify-content:space-between;align-items:end;padding:14px 18px;background:#f7fafc;border-radius:14px}.workflow-toolbar label{display:grid;gap:6px}.workflow-toolbar input,.workflow-form input,.workflow-form select,.workflow-form textarea{border:1px solid #cbd8e5;border-radius:9px;padding:10px;background:#fff}.workflow-table{overflow:auto;border:1px solid #dce5ee;border-radius:14px;background:#fff}.workflow-table table{width:100%;border-collapse:collapse}.workflow-table th,.workflow-table td{padding:12px;border-bottom:1px solid #edf1f5;text-align:left;white-space:nowrap}.workflow-table th{background:#f7fafc;font-size:12px}.workflow-empty,.workflow-alert{padding:24px;border-radius:14px;background:#f7fafc}.workflow-alert{background:#fff1f1;color:#8a1f1f}.workflow-score{display:flex;gap:18px;align-items:center;padding:20px;border-radius:14px;background:#eef7ef}.workflow-score.fail{background:#fff0f0}.workflow-score.warn{background:#fff8e6}.workflow-audit{display:grid;gap:10px}.workflow-audit article{display:grid;grid-template-columns:90px 1fr 50px;gap:14px;padding:14px;border:1px solid #dce5ee;border-radius:12px;background:#fff}.workflow-audit p{margin:4px 0 0}.workflow-modal-layer{position:fixed;inset:0;display:grid;place-items:center;z-index:80}.workflow-scrim{position:absolute;inset:0;border:0!important;border-radius:0!important;background:rgba(4,18,31,.56)!important}.workflow-modal{position:relative;width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px}.workflow-modal header{display:flex;justify-content:space-between;align-items:center}.workflow-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.workflow-form label{display:grid;gap:6px}.workflow-form .wide{grid-column:1/-1}.workflow-form textarea{min-height:110px}.workflow-form .check{display:flex;align-items:center}.workflow-form-actions{justify-content:flex-end;margin-top:18px}@media(max-width:760px){.workflow-workspace{padding:14px}.workflow-hero{display:grid}.workflow-form{grid-template-columns:1fr}.workflow-form .wide{grid-column:auto}}

/* workspace.css */
.workspace-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#f3f5f9}.workspace-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:#101828;color:#d0d5dd;padding:20px 14px;border-right:1px solid #1d2939;z-index:30}.workspace-brand{display:flex;flex-direction:column;padding:4px 10px 20px;border-bottom:1px solid #344054;margin-bottom:12px}.workspace-brand strong{font-size:22px;letter-spacing:.08em;color:#fff}.workspace-brand span{font-size:12px;color:#98a2b3}.nav-group{margin:18px 0}.nav-group h2{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#667085;padding:0 10px;margin:0 0 6px}.nav-link{width:100%;border:0;background:transparent;color:#d0d5dd;text-align:left;padding:9px 10px;border-radius:8px;font-size:13px}.nav-link:hover,.nav-link.active{background:#1d2939;color:#fff}.workspace-content{min-width:0}.workspace-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:12px 28px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e4e7ec}.workspace-header>div{display:grid;gap:1px}.workspace-header strong{font-size:14px}.workspace-header small{color:#667085}.workspace-header label{display:flex;align-items:center;gap:10px}.workspace-header label span{font-size:12px;color:#667085}.workspace-header select,.module-page select,.module-page input,.module-page textarea{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:9px 11px;color:#101828}.workspace-main{padding:24px 28px 48px}.mobile-menu{display:none;position:fixed;top:14px;left:14px;z-index:50;width:42px;height:42px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}.module-page{max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.page-heading h1{margin:3px 0 0;font-size:28px;color:#101828}.page-heading p{max-width:760px;color:#667085;margin:8px 0 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#667085}.toolbar-actions,.row-actions,.pagination>div,.tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-actions button,.row-actions button,.pagination button,.tabs button,.record-dialog button,.error-panel button,.workspace-fallback button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;padding:8px 11px;font-weight:600;font-size:12px}.toolbar-actions .primary,.record-dialog .primary{background:#0077b6;border-color:#0077b6;color:#fff}.row-actions .danger{color:#b42318;border-color:#fecdca;background:#fff6f5}.record-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:#fff;border:1px solid #e4e7ec;border-radius:12px 12px 0 0}.record-toolbar>input{min-width:280px;max-width:520px;width:42%}.tabs button.active{background:#eff8ff;border-color:#84caff;color:#175cd3}.table-wrap{overflow:auto;background:#fff;border:1px solid #e4e7ec;border-top:0}.table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.table-wrap th,.table-wrap td{padding:11px 12px;border-bottom:1px solid #eaecf0;text-align:left;font-size:12px;vertical-align:top}.table-wrap th{position:sticky;top:0;background:#f9fafb;color:#475467;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.table-wrap tbody tr:hover{background:#fcfcfd}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid #e4e7ec;border-top:0;border-radius:0 0 12px 12px;color:#667085;font-size:12px}.empty-state{padding:36px;text-align:center;color:#667085;white-space:normal}.dialog-backdrop{position:fixed;inset:0;z-index:80;background:rgba(16,24,40,.6);display:flex;align-items:center;justify-content:center;padding:24px}.record-dialog{width:min(980px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 48px rgba(16,24,40,.3)}.record-dialog>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border-bottom:1px solid #eaecf0}.record-dialog h2{margin:2px 0 0}.record-dialog form{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.full-field,.builder-grid>label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:600}.full-field{grid-column:1/-1;margin-top:16px}.form-grid textarea,.full-field textarea{min-height:110px;resize:vertical}.checkbox-field{display:flex!important;align-items:center;gap:8px!important}.checkbox-field input{width:16px;height:16px}.record-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding-top:20px}.record-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:20px}.record-details>div{padding:12px;border-bottom:1px solid #eaecf0}.record-details dt{font-size:10px;text-transform:uppercase;color:#667085}.record-details dd{margin:5px 0 0;overflow-wrap:anywhere}.error-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;margin:12px 0;background:#fff6f5;border:1px solid #fecdca;border-radius:10px;color:#b42318;font-size:13px}.loading-screen{min-height:320px;display:flex;align-items:center;justify-content:center;gap:12px;color:#475467}.spinner{width:20px;height:20px;border:3px solid #d0d5dd;border-top-color:#0077b6;border-radius:50%;animation:workspace-spin .8s linear infinite}@keyframes workspace-spin{to{transform:rotate(360deg)}}.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;margin-bottom:18px}.builder-grid fieldset{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid #e4e7ec;border-radius:10px}.builder-grid legend{padding:0 8px;font-weight:700}.json-preview{max-height:70vh;overflow:auto;padding:18px;background:#101828;color:#d1fadf;border-radius:12px;font-size:12px;white-space:pre-wrap}.workspace-fallback{min-height:100vh;display:grid;place-content:center;text-align:center;padding:24px}.workspace-fallback h1{margin-bottom:0}.workspace-fallback p{color:#667085;max-width:620px}.workspace-fallback button{justify-self:center}.workspace-main>.app-shell{margin:-24px -28px -48px;min-height:calc(100vh - 72px)}
@media(max-width:1100px){.workspace-shell{grid-template-columns:240px minmax(0,1fr)}.workspace-main{padding:20px}.workspace-main>.app-shell{margin:-20px -20px -48px}.builder-grid fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace-shell{display:block}.mobile-menu{display:block}.workspace-sidebar{position:fixed;left:0;top:0;width:min(86vw,300px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 20px 40px rgba(16,24,40,.35)}.workspace-sidebar.open{transform:translateX(0)}.workspace-header{padding-left:68px;padding-right:14px}.workspace-header>div{display:none}.workspace-header label{width:100%;justify-content:flex-end}.workspace-main{padding:16px 12px 40px}.workspace-main>.app-shell{margin:-16px -12px -40px}.page-heading,.record-toolbar,.pagination{align-items:stretch;flex-direction:column}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.record-toolbar>input{width:100%;max-width:none;min-width:0}.form-grid,.record-details,.builder-grid{grid-template-columns:1fr}.builder-grid fieldset{grid-template-columns:1fr}.table-wrap th,.table-wrap td{padding:10px}.row-actions{min-width:220px}.dialog-backdrop{padding:0}.record-dialog{max-height:100vh;height:100vh;border-radius:0}.record-dialog>header{padding-top:18px}}
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:10px;background:#fff;border:1px solid #e4e7ec;border-radius:12px}.settings-tabs button{border:1px solid #d0d5dd;border-radius:999px;background:#fff;padding:8px 12px;font-size:12px;font-weight:700;color:#475467}.settings-tabs button.active{background:#eff8ff;border-color:#84caff;color:#175cd3}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setting-card{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:16px;min-width:0}.setting-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.setting-card h2{font-size:15px;margin:0 0 5px;color:#101828}.setting-card code{font-size:10px;color:#667085;overflow-wrap:anywhere}.setting-card>p{font-size:12px;color:#667085;margin:0}.setting-card>footer{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid #eaecf0}.setting-card>footer>div:first-child{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:#667085}.setting-card .row-actions .primary{background:#0077b6;border-color:#0077b6;color:#fff}.setting-input{display:grid;gap:6px;font-size:12px;font-weight:700;color:#344054}.setting-input input,.setting-input select,.setting-input textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:10px 11px;color:#101828}.setting-input textarea{min-height:120px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.setting-input :disabled{background:#f2f4f7;color:#98a2b3}.risk-badge,.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;letter-spacing:.08em}.risk-badge.low,.status-chip.pass{background:#ecfdf3;color:#027a48}.risk-badge.medium,.status-chip.warn{background:#fffaeb;color:#b54708}.risk-badge.high{background:#fff4ed;color:#c4320a}.risk-badge.critical,.status-chip.fail{background:#fef3f2;color:#b42318}.notice-panel{padding:12px 14px;margin:12px 0;background:#ecfdf3;border:1px solid #abefc6;border-radius:10px;color:#067647;font-size:13px}.audit-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin-bottom:16px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.audit-summary.pass{border-color:#abefc6;background:#ecfdf3}.audit-summary.warn{border-color:#fedf89;background:#fffaeb}.audit-summary.fail{border-color:#fecdca;background:#fef3f2}.audit-summary span{font-size:11px;color:#667085}.audit-panel{background:#fff;border:1px solid #e4e7ec;border-radius:12px;margin-bottom:16px;overflow:hidden}.audit-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #eaecf0}.audit-panel h2{margin:0 0 4px;font-size:17px}.audit-panel header span{font-size:11px;color:#667085}.audit-issues{display:grid;gap:0}.audit-issue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 18px;border-bottom:1px solid #eaecf0}.audit-issue>div{display:grid;gap:4px}.audit-issue strong{font-size:11px}.audit-issue span{font-size:12px;color:#475467}.audit-issue>b{align-self:start;min-width:28px;text-align:center;border-radius:999px;padding:4px 7px;font-size:10px;background:#f2f4f7}.audit-issue.error{border-left:4px solid #d92d20}.audit-issue.warning{border-left:4px solid #dc6803}.audit-issue.info{border-left:4px solid #1570ef}.audit-issue details{grid-column:1/-1}.audit-issue pre,.audit-checks pre{max-height:280px;overflow:auto;background:#101828;color:#d1fadf;padding:12px;border-radius:8px;font-size:10px;white-space:pre-wrap}.audit-checks{padding:14px 18px}.audit-checks summary,.audit-issue summary{cursor:pointer;font-size:11px;font-weight:700;color:#344054}
@media(max-width:980px){.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.setting-card>footer,.audit-summary{align-items:stretch;flex-direction:column}.setting-card>footer .row-actions{width:100%}.setting-card>footer .row-actions button{flex:1}}
.sales-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:10px;background:#fff;border:1px solid #e4e7ec;border-radius:12px}.sales-tabs button{border:1px solid #d0d5dd;border-radius:999px;background:#fff;padding:8px 12px;font-size:12px;font-weight:700;color:#475467}.sales-tabs button.active{background:#eff8ff;border-color:#84caff;color:#175cd3}.record-toolbar select{min-width:180px}.sales-dialog{width:min(1180px,100%)}.line-editor{margin-top:18px;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}.line-editor>header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f9fafb;border-bottom:1px solid #e4e7ec}.line-editor button{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:8px 10px;font-weight:700}.line-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1.4fr) 80px 90px 110px 100px 90px 110px auto;gap:8px;align-items:end;padding:12px;border-bottom:1px solid #eaecf0}.line-row:last-child{border-bottom:0}.line-row label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#475467}.line-row input,.line-row select,.allocation-row input,.allocation-row select{width:100%;min-width:0;border:1px solid #d0d5dd;border-radius:8px;padding:9px;background:#fff}.line-row .danger,.allocation-row .danger{color:#b42318;border-color:#fecdca;background:#fff6f5}.allocation-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.5fr) auto;gap:10px;padding:12px;border-bottom:1px solid #eaecf0}.allocation-row:last-child{border-bottom:0}.commercial-sales .row-actions>span{color:#667085;font-size:11px;white-space:normal;max-width:180px}.commercial-sales .table-wrap{border-top:0}.commercial-sales .record-toolbar{border-radius:12px 12px 0 0}
@media(max-width:1180px){.line-row{grid-template-columns:repeat(4,minmax(120px,1fr))}.line-row>button{align-self:end}}
@media(max-width:760px){.line-row{grid-template-columns:1fr}.allocation-row{grid-template-columns:1fr}.sales-dialog form{padding:14px}.sales-tabs{overflow:auto;flex-wrap:nowrap}.sales-tabs button{white-space:nowrap}}
