:root{
  --pas-route-max-width:1680px;
  --pas-route-pad-top:46px;
  --pas-route-pad-inline:42px;
  --pas-route-pad-bottom:70px;
  --pas-route-header-gap:12px;
  --pas-route-tabs-gap:8px;
  --pas-route-workspace-gap:18px;
  --pas-panel-gap:12px;
  --pas-control-height:44px;
  --pas-control-radius:11px;
  --pas-control-padding-x:12px;
  --pas-control-bg:rgba(8,12,24,.75);
  --pas-control-border:var(--line,rgba(148,163,184,.16));
  --pas-control-border-focus:rgba(124,140,255,.75);
  --pas-control-focus-ring:0 0 0 3px rgba(124,140,255,.10);
  --pas-control-text:var(--text,#f4f7ff);
  --pas-control-muted:var(--muted,#94a3b8);
}

.pas-root-module-host{min-width:0;min-height:100vh}
.pas-route-frame{
  width:min(var(--pas-route-max-width),100%);
  min-width:0;
  margin:0 auto;
  padding:var(--pas-route-pad-top) var(--pas-route-pad-inline) var(--pas-route-pad-bottom);
}
.pas-route-header{
  min-width:0;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 var(--pas-route-header-gap);
}
.pas-route-header-copy{min-width:0}
.pas-route-header-copy h1{margin:5px 0 6px}
.pas-route-header-copy p:not(.eyebrow){
  margin:0;
  max-width:920px;
  color:var(--pas-control-muted);
  line-height:1.55;
}
.pas-route-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.pas-route-tabs{
  min-width:0;
  display:flex;
  gap:var(--pas-route-tabs-gap);
  margin:0 0 var(--pas-route-workspace-gap);
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
}
.pas-route-tabs>[role="tab"],
.pas-route-tabs>button,
.pas-route-tabs>a{
  flex:0 0 auto;
  min-height:var(--pas-control-height);
}
.pas-route-workspace{
  min-width:0;
  display:grid;
  gap:var(--pas-route-workspace-gap);
}
.pas-panel-grid{
  min-width:0;
  display:grid;
  gap:var(--pas-panel-gap);
}
.pas-panel-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.pas-panel-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.pas-panel-stack{
  min-width:0;
  display:grid;
  gap:var(--pas-panel-gap);
}

.pas-field-grid{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
.pas-field{
  min-width:0;
  display:grid;
  gap:6px;
}
.pas-field>span,
.pas-field>label{
  color:var(--pas-control-muted);
  font-size:10px;
  font-weight:700;
}
.pas-control,
.pas-field input,
.pas-field select,
.pas-field textarea{
  width:100%;
  min-width:0;
  min-height:var(--pas-control-height);
  border:1px solid var(--pas-control-border);
  border-radius:var(--pas-control-radius);
  background:var(--pas-control-bg);
  color:var(--pas-control-text);
  padding:0 var(--pas-control-padding-x);
  outline:none;
  font:inherit;
}
.pas-field textarea,
textarea.pas-control{
  min-height:88px;
  padding-block:10px;
  resize:vertical;
  line-height:1.5;
}
.pas-field select,
select.pas-control{
  appearance:none;
  padding-right:34px;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--pas-control-muted) 50%),
    linear-gradient(135deg,var(--pas-control-muted) 50%,transparent 50%);
  background-position:
    calc(100% - 17px) 50%,
    calc(100% - 12px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.pas-control:focus,
.pas-control:focus-visible,
.pas-field input:focus,
.pas-field input:focus-visible,
.pas-field select:focus,
.pas-field select:focus-visible,
.pas-field textarea:focus,
.pas-field textarea:focus-visible{
  border-color:var(--pas-control-border-focus);
  box-shadow:var(--pas-control-focus-ring);
}
.pas-check-option{
  min-width:0;
  min-height:var(--pas-control-height);
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 11px;
  border:1px solid var(--pas-control-border);
  border-radius:var(--pas-control-radius);
  background:rgba(255,255,255,.025);
  color:var(--pas-control-muted);
  cursor:pointer;
}
.pas-check-option input{
  appearance:none;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:0;
  border:1px solid var(--pas-control-border);
  border-radius:5px;
  background:var(--pas-control-bg);
  display:grid;
  place-items:center;
}
.pas-check-option input::after{
  content:"";
  width:8px;
  height:4px;
  border-left:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(-45deg) scale(0);
  transition:transform .12s ease;
}
.pas-check-option input:checked{
  border-color:var(--accent,#7c8cff);
  background:var(--accent,#7c8cff);
}
.pas-check-option input:checked::after{transform:rotate(-45deg) scale(1)}
.pas-check-option input:focus-visible{
  outline:none;
  box-shadow:var(--pas-control-focus-ring);
}

@media(max-width:1279px) and (min-width:1024px){
  :root{
    --pas-route-pad-top:30px;
    --pas-route-pad-inline:24px;
    --pas-route-pad-bottom:44px;
    --pas-route-workspace-gap:14px;
    --pas-panel-gap:10px;
  }
}
@media(max-width:1023px) and (min-width:760px){
  :root{
    --pas-route-pad-top:22px;
    --pas-route-pad-inline:18px;
    --pas-route-pad-bottom:34px;
    --pas-route-header-gap:10px;
    --pas-route-workspace-gap:12px;
  }
  .pas-route-header{align-items:flex-start}
  .pas-panel-grid[data-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:759px){
  :root{
    --pas-route-pad-top:14px;
    --pas-route-pad-inline:10px;
    --pas-route-pad-bottom:24px;
    --pas-route-header-gap:8px;
    --pas-route-tabs-gap:5px;
    --pas-route-workspace-gap:10px;
    --pas-panel-gap:9px;
  }
  .pas-route-header{align-items:flex-start;flex-direction:column;gap:10px}
  .pas-route-header-actions{width:100%;justify-content:flex-start}
  .pas-panel-grid[data-columns="2"],
  .pas-panel-grid[data-columns="3"]{grid-template-columns:1fr}
  .pas-field-grid{grid-template-columns:1fr}
  .pas-route-tabs{padding-bottom:2px}
}
@media(max-width:420px){
  :root{--pas-route-pad-inline:8px}
}

.pas-route-frame-wide{--pas-route-max-width:1860px}

/* PAS final UI refinement UI-R3 · Light controls. */
html[data-pas-theme="light"]{
  --pas-control-bg:rgba(255,255,255,.92);
  --pas-control-border:var(--pas-border);
  --pas-control-border-focus:color-mix(in srgb,var(--pas-accent) 72%,#ffffff);
  --pas-control-focus-ring:0 0 0 3px color-mix(in srgb,var(--pas-accent) 12%,transparent);
  --pas-control-text:var(--pas-text);
  --pas-control-muted:var(--pas-muted);
}
