/* Shared visual contract. Uses existing theme tokens. Label columns are intrinsic per form. */

/* Equal columns inside a visual action group. Width stays local to that group. */
.cc-quick,
nav.dashboard-quick,
.dashboard-quick > nav{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));
  gap:.5rem;
  width:100%;
  min-width:0;
  justify-content:stretch;
}
.cc-quick > a,
nav.dashboard-quick > a,
.dashboard-quick > nav > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:2.5rem;
  height:100%;
  box-sizing:border-box;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media (max-width:420px){
  .cc-quick,
  nav.dashboard-quick,
  .dashboard-quick > nav{
    grid-template-columns:minmax(0,1fr);
  }
}

.login-card > header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.45rem;
  position:static;
  height:auto;
  min-height:0;
}
.login-card > header > .eyebrow,
.login-card > header > h2,
.login-card > header > p{
  margin:0;
  max-width:100%;
}
.login-card > header > .login-back-link{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin:0;
  white-space:normal;
  text-align:center;
}
.login-shell .login-card .auth-form{
  margin-top:1.15rem;
}

.entity-picker{display:grid;gap:.25rem;min-width:0;width:100%}
.entity-picker-search{width:100%;min-width:0;max-width:100%}
.entity-picker-status{min-height:1em;color:var(--text-muted);font-size:.75rem;line-height:1.3}
.entity-picker-selected{display:flex;flex-wrap:wrap;gap:.35rem}
.entity-picker-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%}

html{color-scheme:light}
html[data-theme=dark]{color-scheme:dark}

html[data-theme=dark] dialog,
html[data-theme=dark] .register-guide-card,
html[data-theme=dark] .ai-window{
  background:var(--bg-elevated);
  color:var(--text);
  border-color:var(--border);
}

html[data-theme=dark] :where(input,textarea,select)::placeholder{
  color:var(--text-muted);
  opacity:1;
}

html[data-theme=dark] input:-webkit-autofill,
html[data-theme=dark] textarea:-webkit-autofill,
html[data-theme=dark] select:-webkit-autofill{
  -webkit-text-fill-color:var(--text);
  caret-color:var(--text);
  box-shadow:0 0 0 1000px var(--control-bg) inset;
}

/* Label/control columns live in aligned-form.css. This sheet must not restore a viewport two-column grid. */

input[type=file]{
  max-inline-size:100%;
  color:var(--text-muted);
  font:inherit;
}
input[type=file]::file-selector-button{
  margin-inline-end:.75rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm,.65rem);
  background:var(--bg-elevated);
  color:var(--text);
  min-height:var(--control-h,2.75rem);
  padding:0 1rem;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
input[type=file]::file-selector-button:hover{
  border-color:var(--pine-2,#195444);
}
input[type=file]:focus-visible{
  outline:2px solid var(--pine,#123d32);
  outline-offset:2px;
}
input[type=file]:disabled{
  opacity:.6;
  cursor:not-allowed;
}
html[data-theme=dark] input[type=file]{
  color:var(--text-muted);
}
html[data-theme=dark] input[type=file]::file-selector-button{
  background:var(--control-bg);
  color:var(--control-fg);
  border-color:var(--control-border);
}
html[data-theme=dark] input[type=file]::file-selector-button:hover{
  border-color:var(--link-fg);
}
