*{margin:0;padding:0;box-sizing:border-box}
html{height:100%}
body{font-family:var(--sans);font-size:var(--type-body);color:var(--cds-text-primary);
  background:var(--cds-background);line-height:1.5;-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh}
main{flex:1;padding:var(--sp-7) 0 80px}
a{color:var(--cds-link)}a:visited{color:var(--cds-link)}a:hover{color:var(--cds-interactive-hover)}
:focus-visible{outline:2px solid var(--cds-focus);outline-offset:1px}
button{font-family:var(--sans);cursor:pointer}

.wrap{max-width:860px;margin:0 auto;padding:0 var(--sp-6)}
.wrap-wide{max-width:1120px}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--cds-text-secondary);font-weight:500}
h1{font-size:clamp(24px,4vw,var(--type-display));font-weight:300;letter-spacing:-.01em;margin:10px 0 12px}
h1 strong,h1 b{font-weight:600}
.sub{color:var(--cds-text-secondary);font-weight:300;font-size:var(--type-heading);max-width:56ch}
.label{font-size:var(--type-label);color:var(--cds-text-secondary);letter-spacing:.02em}

.card,.tile{background:var(--cds-layer);border:1px solid var(--cds-border-subtle);padding:var(--sp-6);margin-top:var(--sp-6);border-radius:var(--cds-radius);box-shadow:var(--cds-shadow)}
.tile{padding:var(--sp-5);margin-top:0}

.btn,.btn:visited,.btn:hover{color:#fff}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--cds-interactive);
  text-decoration:none;padding:0 var(--sp-6);height:40px;font-size:var(--type-body);border:none;border-radius:var(--cds-radius-sm)}
.btn:hover{background:var(--cds-interactive-hover)}
.btn.ghost,.btn.ghost:visited{background:transparent;color:var(--cds-interactive);border:1px solid var(--cds-interactive)}
.btn.ghost:hover{background:var(--cds-tag-blue-bg);color:var(--cds-interactive)}
.btn.sm{height:32px;font-size:13px;padding:0 var(--sp-4)}
.btn[disabled]{opacity:.4;cursor:not-allowed}

.tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--type-label);padding:2px 8px;white-space:nowrap;font-family:var(--sans);font-weight:400;border-radius:10px}
.tag.green{background:var(--cds-tag-green-bg);color:var(--cds-tag-green-text)}
.tag.red{background:var(--cds-tag-red-bg);color:var(--cds-tag-red-text)}
.tag.blue{background:var(--cds-tag-blue-bg);color:var(--cds-tag-blue-text)}
.tag.gray{background:var(--cds-tag-gray-bg);color:var(--cds-tag-gray-text)}
.tag.internal{background:var(--cds-tag-internal-bg);color:var(--cds-tag-internal-text)}
.tag.gold{background:var(--cds-attention-bg);color:var(--cds-attention-fg);border:1px solid var(--cds-attention)}

.field{margin-bottom:var(--sp-5)}
.field label{display:block;font-size:var(--type-label);font-weight:500;margin-bottom:5px;color:var(--cds-text-secondary)}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:none;border-bottom:1px solid var(--cds-border-strong);
  font-family:var(--sans);font-size:var(--type-body);background:var(--cds-field);border-radius:var(--cds-radius-sm) var(--cds-radius-sm) 0 0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--cds-focus);outline-offset:-2px}
.field input[type=radio],.field input[type=checkbox]{width:auto;padding:0;border:none;background:none;margin-right:8px;vertical-align:-2px;accent-color:var(--cds-interactive)}
.field input[type=radio]:focus,.field input[type=checkbox]:focus{outline:2px solid var(--cds-focus);outline-offset:2px}
.error{background:var(--cds-tag-red-bg);border:1px solid #ffd7d9;color:var(--cds-support-error);padding:14px 18px;margin-top:20px;font-size:var(--type-body);border-radius:var(--cds-radius)}

/* Carbon tabs (portal) */
.ctabs{display:flex;border-bottom:1px solid var(--cds-border-subtle);flex-wrap:wrap}
.ctabs button{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;
  padding:var(--sp-4) var(--sp-5);font-size:var(--type-body);color:var(--cds-text-secondary)}
.ctabs button.on{border-bottom-color:var(--cds-interactive);color:var(--cds-text-primary);font-weight:600}
.ctabs button:hover:not(.on){border-bottom-color:var(--cds-border-strong);color:var(--cds-text-primary)}
.ctabs .cnt{font-size:var(--type-label);background:var(--cds-layer-accent);padding:1px 6px;margin-left:6px;border-radius:6px}
.ctabs .cnt.hot{background:var(--cds-tag-red-bg);color:var(--cds-tag-red-text)}

/* Shared component grammar - retained aliases keep existing surfaces stable. */
.ui-panel{background:var(--cds-layer);border:1px solid var(--cds-border-subtle);border-radius:var(--ui-panel-radius)}
.ui-panel--elevated{box-shadow:var(--cds-shadow)}
.ui-button{min-height:var(--ui-control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-sm);padding:0 var(--ui-space-lg);border:1px solid transparent;border-radius:var(--ui-control-radius);font:500 var(--type-body)/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.ui-button--primary{background:var(--cds-interactive);color:#fff}.ui-button--primary:visited{color:#fff}.ui-button--primary:hover{background:var(--cds-interactive-hover);color:#fff}
.ui-button--secondary{background:var(--cds-layer);border-color:var(--cds-border-strong);color:var(--cds-text-primary)}.ui-button--secondary:visited{color:var(--cds-text-primary)}.ui-button--secondary:hover{background:var(--cds-field);color:var(--cds-text-primary)}
.ui-button--ghost{background:transparent;color:var(--cds-interactive)}.ui-button--ghost:visited{color:var(--cds-interactive)}.ui-button--ghost:hover{background:var(--cds-tag-blue-bg);color:var(--cds-interactive)}
.ui-button--danger{background:var(--cds-support-error);color:#fff}.ui-button--danger:hover{filter:brightness(.9);color:#fff}
.ui-button--compact{min-height:var(--ui-control-height-compact);padding:0 var(--ui-space-md);font-size:13px}
.ui-button[disabled],.ui-button[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.ui-status{display:inline-flex;align-items:center;gap:var(--ui-space-xs);padding:2px var(--ui-space-sm);border-radius:999px;font-size:var(--type-label);line-height:18px;white-space:nowrap}
.ui-status--success{background:var(--cds-tag-green-bg);color:var(--cds-tag-green-text)}
.ui-status--error{background:var(--cds-tag-red-bg);color:var(--cds-tag-red-text)}
.ui-status--warning{background:var(--cds-attention-bg);color:var(--cds-attention-fg);border:1px solid var(--cds-attention)}
.ui-status--info{background:var(--cds-tag-blue-bg);color:var(--cds-tag-blue-text)}
.ui-status--neutral{background:var(--cds-tag-gray-bg);color:var(--cds-tag-gray-text)}
.ui-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--ui-space-md);align-items:start;padding:var(--ui-space-md) var(--ui-space-lg);border:1px solid var(--cds-border-subtle);border-left:4px solid var(--cds-interactive);border-radius:var(--ui-control-radius);background:var(--cds-layer)}
.ui-alert--success{border-left-color:var(--cds-support-success)}.ui-alert--warning{border-left-color:var(--cds-attention)}.ui-alert--error{border-left-color:var(--cds-support-error)}
.ui-alert__title{font-weight:600}.ui-alert__detail{font-size:13px;color:var(--cds-text-secondary);margin-top:2px}
.ui-field{display:grid;gap:5px}.ui-field__label{font-size:var(--type-label);font-weight:500;color:var(--cds-text-secondary)}
.ui-evidence{padding:var(--ui-space-md);border:1px solid var(--cds-border-subtle);border-radius:var(--ui-control-radius);background:var(--cds-background)}
.ui-document-row,.ui-requirement-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ui-space-md);align-items:center;padding:var(--ui-space-md) 0;border-top:1px solid var(--cds-border-subtle)}
.ui-document-row:first-child,.ui-requirement-row:first-child{border-top:0}.ui-document-row__title,.ui-requirement-row__title{font-weight:600}.ui-document-row__meta,.ui-requirement-row__meta{font-size:var(--type-label);color:var(--cds-text-secondary);margin-top:2px}
.ui-empty-state{padding:var(--ui-space-xl);text-align:center;color:var(--cds-text-secondary);border:1px dashed var(--cds-border-strong);border-radius:var(--ui-control-radius)}
.ui-skeleton{position:relative;overflow:hidden;background:var(--cds-layer-accent);border-radius:4px;min-height:16px}.ui-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:ui-skeleton 1.3s infinite}@keyframes ui-skeleton{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.ui-skeleton::after{animation:none}}

/* ============ v19.7.5 native control and surface consistency ============ */
:root{color-scheme:light}
button,input,select,textarea{font-family:var(--sans);color:var(--cds-text-primary)}
input,select,textarea{max-width:100%}
input::placeholder,textarea::placeholder{color:var(--cds-text-helper);opacity:1}
select{appearance:auto;-webkit-appearance:auto;-moz-appearance:auto}
select option{background:var(--cds-layer);color:var(--cds-text-primary)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--cds-interactive);cursor:pointer}
input[type="file"]{width:100%;padding:7px;border:1px solid var(--cds-border-subtle);border-radius:var(--ui-control-radius);background:var(--cds-layer);color:var(--cds-text-secondary)}
input[type="file"]::file-selector-button{min-height:32px;margin-right:10px;padding:0 12px;border:1px solid var(--cds-border-strong);border-radius:var(--ui-control-radius);background:var(--cds-layer);color:var(--cds-text-primary);font:500 13px/1 var(--sans);cursor:pointer}
input[type="file"]::file-selector-button:hover{background:var(--cds-field)}
input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed}
input:disabled,select:disabled,textarea:disabled{opacity:.65;background:var(--cds-layer-accent)}
fieldset{min-width:0}
legend{max-width:100%}
.field input,.field select,.field textarea{color:var(--cds-text-primary)}
.field select{min-height:44px;padding-block:0}
.field textarea{resize:vertical;line-height:1.5}
.field--choice{border:0;padding:0;margin:0 0 var(--sp-5)}
.field--choice legend{display:block;margin-bottom:8px;font-size:var(--type-label);font-weight:600;color:var(--cds-text-secondary)}
.choice-list{display:grid;gap:8px}
.choice-control{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--cds-border-subtle);border-radius:var(--ui-control-radius);background:var(--cds-layer);font-size:var(--type-body);font-weight:400;cursor:pointer}
.choice-control:hover{border-color:var(--cds-border-strong);background:var(--cds-field)}
.choice-control:has(input:checked){border-color:var(--cds-interactive);box-shadow:inset 3px 0 0 var(--cds-interactive);background:var(--cds-tag-blue-bg)}
.choice-control input{margin-top:2px}
.ui-button:active,.btn:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.ui-button:active,.btn:active{transform:none}}

/* ============ v19.7.6 fidelity correction ============ */
.ui-empty-state--compact{display:grid;justify-items:center;gap:8px;line-height:1.45}
.ui-empty-state--compact>span,.ui-empty-state--compact>p{display:block;max-width:34ch}
