.v2-agent-settings { width: min(100%, 960px); margin: 0 auto; padding: 24px; color: var(--v2-text-primary); } .v2-agent-settings__state { padding: 32px; color: var(--v2-text-secondary); } .v2-agent-settings__tabs { display: flex; gap: 24px; margin-top: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--v2-border-soft); } .v2-agent-settings__tabs > * { padding: 10px 2px; color: var(--v2-text-secondary); text-decoration: none; font-size: 14px; } .v2-agent-settings__tabs [aria-current="page"] { color: var(--v2-text-primary); border-bottom: 2px solid var(--v2-accent); } .v2-agent-settings__section { padding: 28px 0; } .v2-agent-settings__section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; } .v2-agent-settings__section h2 { margin: 0; font-family: var(--v2-font-display); font-size: 20px; } .v2-root .v2-agent-settings button:not(.MuiButtonBase-root) { min-height: 34px; padding: 6px 12px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius); background: var(--v2-surface); color: var(--v2-text-primary); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; } .v2-root .v2-agent-settings button:hover { background: var(--v2-surface-hover); } .v2-root .v2-agent-settings button:focus-visible { box-shadow: var(--v2-focus-ring); outline: 1px solid var(--v2-accent); } .v2-root .v2-agent-settings button:disabled { opacity: .55; cursor: default; } .v2-root .v2-agent-settings .v2-agent-settings__section-head button { background: var(--v2-ink); color: var(--v2-on-ink); border-color: var(--v2-ink); } .v2-root .v2-agent-settings .v2-agent-settings__actions button:first-child { background: var(--v2-ink); color: var(--v2-on-ink); border-color: var(--v2-ink); } .v2-root .v2-agent-settings .v2-agent-settings__section-head button:hover, .v2-root .v2-agent-settings .v2-agent-settings__actions button:first-child:hover { background: var(--v2-ink-hover); } .v2-root .v2-agent-settings a.v2-agent-settings__action { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border: 1px solid var(--v2-ink); border-radius: var(--v2-radius); background: var(--v2-ink); color: var(--v2-on-ink); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none; } .v2-root .v2-agent-settings a.v2-agent-settings__action:hover { background: var(--v2-ink-hover); } .v2-root .v2-agent-settings a.v2-agent-settings__action:focus-visible { box-shadow: var(--v2-focus-ring); outline: 1px solid var(--v2-accent); } .v2-agent-settings__error { color: var(--v2-danger); } .v2-agent-settings__empty { margin-top: 24px; color: var(--v2-text-secondary); } .v2-agent-settings__keys { list-style: none; padding: 0; margin: 20px 0 0; } .v2-agent-settings__revoked-keys { margin-top: 20px; border-top: 1px solid var(--v2-border-soft); padding-top: 14px; } .v2-agent-settings__revoked-keys summary { width: fit-content; cursor: pointer; color: var(--v2-text-secondary); font-family: var(--v2-font-mono); font-size: 12px; } .v2-agent-settings__revoked-keys summary:focus-visible { box-shadow: var(--v2-focus-ring); outline: 1px solid var(--v2-accent); } .v2-agent-settings__revoked-keys .v2-agent-settings__keys { margin-top: 8px; } .v2-agent-settings__key { position: relative; padding: 14px 0; border-top: 1px solid var(--v2-border-soft); } .v2-agent-settings__key-main { display: flex; gap: 12px; align-items: baseline; font-size: 14px; } .v2-agent-settings__key-main span { color: var(--v2-text-tertiary); font-size: 12px; } .v2-agent-settings__key-meta { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; color: var(--v2-text-secondary); font-family: var(--v2-font-mono); font-size: 11px; } .v2-agent-settings__quiet { margin-top: 12px; } .v2-agent-settings__confirm, .v2-agent-settings__reveal { margin: 20px 0; padding: 16px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius); } .v2-agent-settings__confirm p { margin: 0 0 12px; font-size: 14px; } .v2-agent-settings__actions { display: flex; gap: 8px; flex-wrap: wrap; } .v2-agent-settings__reveal { display: grid; gap: 12px; font-size: 13px; } .v2-agent-settings__reveal code { display: block; overflow-wrap: anywhere; padding: 10px; background: var(--v2-surface-tint); font-family: var(--v2-font-mono); } .v2-agent-settings__reveal button { justify-self: start; } .v2-agent-settings__identity { display: grid; gap: 18px; max-width: 680px; margin-top: 20px; } .v2-agent-settings__identity label { display: grid; gap: 7px; font-size: 13px; font-weight: 600; } .v2-agent-settings__identity fieldset { display: grid; gap: 16px; margin: 0; padding: 18px; border: 1px solid var(--v2-border-soft); border-radius: var(--v2-radius); } .v2-agent-settings__identity legend { padding: 0 6px; font-weight: 700; } .v2-root .v2-agent-settings .v2-agent-settings__identity input { width: 100%; padding: 9px 10px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius); background: var(--v2-surface); color: var(--v2-text-primary); font: inherit; font-weight: 400; } .v2-root .v2-agent-settings .v2-agent-settings__identity textarea, .v2-root .v2-agent-settings .v2-agent-settings__identity select { width: 100%; padding: 9px 10px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius); background: var(--v2-surface); color: var(--v2-text-primary); font: inherit; font-weight: 400; } .v2-agent-settings__identity textarea { resize: vertical; } .v2-agent-settings__identity .v2-agent-settings__actions { align-items: center; font-size: 13px; color: var(--v2-text-secondary); } .v2-agent-settings__listing { display: grid; gap: 8px; max-width: 680px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--v2-border-soft); } .v2-agent-settings__listing h3 { margin: 0; font-family: var(--v2-font-display); font-size: 16px; } .v2-agent-settings__listing p { margin: 0; color: var(--v2-text-secondary); font-size: 13px; } /* Registry owner controls (TASK-419). A wrapping row, not a grid: the grid would stretch each button to the full width. Buttons take the base .v2-agent-settings button style above; only the listing-name input needs its own rule. */ .v2-agent-settings__owned { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-top: 12px; padding-top: 16px; border-top: 1px solid var(--v2-border-soft); } .v2-agent-settings__owned h3 { flex: 0 0 100%; margin: 0; font-family: var(--v2-font-display); font-size: 16px; } .v2-agent-settings__owned label { display: grid; flex: 1 1 240px; gap: 7px; min-width: 0; font-size: 13px; font-weight: 600; } .v2-root .v2-agent-settings .v2-agent-settings__owned input { width: 100%; padding: 9px 10px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius); background: var(--v2-surface); color: var(--v2-text-primary); font: inherit; font-weight: 400; } .v2-root .v2-agent-settings .v2-agent-settings__owned input:focus-visible { box-shadow: var(--v2-focus-ring); outline: 1px solid var(--v2-accent); } .v2-agent-settings__owned .v2-agent-settings__error { flex: 0 0 100%; margin: 0; color: var(--v2-danger); font-size: 13px; } .v2-root .v2-agent-settings .v2-agent-settings__listing a { justify-self: start; color: var(--v2-accent); font-size: 13px; font-weight: 600; } .v2-root .v2-agent-settings .v2-agent-settings__listing a:focus-visible { box-shadow: var(--v2-focus-ring); outline: 1px solid var(--v2-accent); } @media (max-width: 760px) { .v2-agent-settings { padding: 16px; } .v2-agent-settings__section-head { flex-direction: column; align-items: flex-start; } .v2-agent-settings__key-meta { display: grid; gap: 4px; } } /* Agent memory tab (TASK-690 slice 1): frame metrics from docs/design/artboards/d215 #s-memory at 1440. Group nav at 200px beside the lists, stacked below 768. Tags and recency are not drawn: the API has no data for them (slice 2 adds only the section-level update time). */ .v2-agent-memory { display: grid; gap: 20px; } @media (min-width: 768px) { .v2-agent-memory { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; align-items: start; } } .v2-agent-memory__nav { display: grid; gap: 2px; align-content: start; } .v2-agent-memory__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; } .v2-agent-memory__nav a { display: flex; align-items: center; gap: 9px; height: 34px; padding: 0 10px; border-radius: 8px; color: var(--v2-text-secondary); text-decoration: none; font-size: 13.5px; } .v2-agent-memory__nav a:hover { background: var(--v2-surface-hover); } .v2-agent-memory__icon { flex: none; } .v2-agent-memory__nav a .v2-agent-memory__icon { width: 16px; height: 16px; } .v2-agent-memory__count { margin-left: auto; font-size: 11px; color: var(--v2-text-tertiary); } .v2-agent-memory__search { display: flex; align-items: center; gap: 7px; height: 34px; margin-top: 12px; box-sizing: border-box; padding: 0 8px 0 10px; border-radius: 10px; border: 1px solid var(--v2-border-soft); background: var(--v2-surface); color: var(--v2-text-tertiary); font-size: 13px; } .v2-agent-memory__search .v2-agent-memory__icon { width: 15px; height: 15px; } .v2-agent-memory__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--v2-text-primary); font: inherit; } .v2-agent-memory__search:focus-within { box-shadow: var(--v2-focus-ring); } .v2-agent-memory__body { display: grid; min-width: 0; } .v2-agent-memory__group { margin-bottom: 18px; } .v2-agent-memory__gtitle { display: flex; align-items: center; gap: 8px; margin: 0 4px 8px; font: 500 11.5px/1 var(--v2-font-mono); color: var(--v2-text-tertiary); list-style: none; } .v2-agent-memory__gtitle::-webkit-details-marker { display: none; } .v2-agent-memory__gheading { display: inline-flex; align-items: center; gap: 8px; } .v2-agent-memory__gtitle .v2-agent-memory__icon { width: 13px; height: 13px; } .v2-agent-memory__gmeta { margin-left: auto; font-weight: 400; font-size: 11px; } /* Desktop: the groups are not collapsible, so the summary is a plain title. */ .v2-agent-memory__chev { display: none; } @media (min-width: 768px) { .v2-agent-memory__gtitle { pointer-events: none; } } /* Phone: search above the groups, group list hidden, groups collapsible. */ @media (max-width: 767px) { .v2-agent-memory__nav ul { display: none; } .v2-agent-memory__gtitle { cursor: pointer; pointer-events: auto; } .v2-agent-memory__chev { display: inline-block; margin-left: 4px; transition: transform 0.15s; } .v2-agent-memory__group[open] > .v2-agent-memory__gtitle .v2-agent-memory__chev { transform: rotate(180deg); } } .v2-agent-memory__list { list-style: none; margin: 0; padding: 0; border-radius: 12px; border: 1px solid var(--v2-border-soft); background: var(--v2-surface); overflow: hidden; } .v2-agent-memory__list > li { border-top: 1px solid var(--v2-border-soft); } .v2-agent-memory__list > li:first-child { border-top: 0; } .v2-agent-memory__mnote { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; padding: 11px 14px; } .v2-agent-memory__mnote .v2-agent-memory__icon { width: 16px; height: 16px; color: var(--v2-text-secondary); margin-top: 2px; } .v2-agent-memory__tx { font-size: 13.5px; line-height: 20px; color: var(--v2-text-primary); } .v2-agent-memory__snip { font-size: 12.5px; line-height: 18px; color: var(--v2-text-secondary); } .v2-agent-memory__jday { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 12px; padding: 10px 14px; font-size: 13.5px; color: var(--v2-text-secondary); } .v2-agent-memory__jdate { font-size: 11.5px; color: var(--v2-text-tertiary); line-height: 20px; }