2376 lines
40 KiB
CSS
2376 lines
40 KiB
CSS
:root {
|
|
--rw-bg: #f8f7f4;
|
|
--rw-surface: #fffefd;
|
|
--rw-surface-muted: #f1efeb;
|
|
--rw-border: #d8d2ca;
|
|
--rw-border-strong: #b9afa5;
|
|
--rw-text: #201e1c;
|
|
--rw-muted: #6b625b;
|
|
--rw-primary: #7a3e2f;
|
|
--rw-primary-hover: #633126;
|
|
--rw-primary-soft: #f3dfd7;
|
|
--rw-success: #3f6f58;
|
|
--rw-warning: #8a5f14;
|
|
--rw-danger: #a33d2f;
|
|
--rw-focus: rgba(122, 62, 47, .28);
|
|
--rw-shadow: 0 1px 2px rgba(32, 30, 28, .08), 0 10px 24px rgba(32, 30, 28, .06);
|
|
}
|
|
|
|
body {
|
|
background: var(--rw-bg);
|
|
color: var(--rw-text);
|
|
font-family: "Oracle Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
}
|
|
|
|
.login-body {
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.login-shell {
|
|
align-items: center;
|
|
display: flex;
|
|
min-height: 100vh;
|
|
padding: 2rem 1rem;
|
|
}
|
|
|
|
.login-panel {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
box-shadow: var(--rw-shadow);
|
|
margin: 0 auto;
|
|
max-width: 420px;
|
|
padding: 1.5rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.login-brand {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--rw-border);
|
|
display: flex;
|
|
gap: .85rem;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 1rem;
|
|
}
|
|
|
|
.login-mark {
|
|
align-items: center;
|
|
background: var(--rw-primary);
|
|
border-radius: 8px;
|
|
color: #fff;
|
|
display: inline-flex;
|
|
font-weight: 800;
|
|
height: 3rem;
|
|
justify-content: center;
|
|
width: 3rem;
|
|
}
|
|
|
|
.login-brand h1 {
|
|
font-size: 1.35rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
}
|
|
|
|
.login-brand p {
|
|
color: var(--rw-muted);
|
|
margin: .2rem 0 0;
|
|
}
|
|
|
|
.login-form {
|
|
display: grid;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.login-form label {
|
|
color: var(--rw-muted);
|
|
font-size: .875rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.rw-nav,
|
|
.navbar {
|
|
background: rgba(255, 254, 253, .96) !important;
|
|
border-bottom: 1px solid var(--rw-border) !important;
|
|
box-shadow: 0 1px 0 rgba(32, 30, 28, .03);
|
|
}
|
|
|
|
.navbar-brand {
|
|
color: var(--rw-text);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.rw-nav .container {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .75rem;
|
|
}
|
|
|
|
.rw-menu {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .35rem;
|
|
}
|
|
|
|
.rw-menu-group {
|
|
position: relative;
|
|
}
|
|
|
|
.rw-menu-trigger {
|
|
background: transparent;
|
|
border: 1px solid transparent;
|
|
border-radius: 999px;
|
|
color: var(--rw-muted);
|
|
font-size: .9rem;
|
|
font-weight: 700;
|
|
min-height: 2.25rem;
|
|
padding: .45rem .85rem;
|
|
}
|
|
|
|
.rw-menu-trigger:hover,
|
|
.rw-menu-trigger:focus,
|
|
.rw-menu-group.open .rw-menu-trigger {
|
|
background: var(--rw-surface-muted);
|
|
border-color: var(--rw-border);
|
|
color: var(--rw-text);
|
|
}
|
|
|
|
.rw-menu-panel {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
box-shadow: var(--rw-shadow);
|
|
display: none;
|
|
left: 0;
|
|
min-width: 190px;
|
|
padding: .35rem;
|
|
position: absolute;
|
|
top: calc(100% + .35rem);
|
|
z-index: 30;
|
|
}
|
|
|
|
.rw-menu-group.open .rw-menu-panel {
|
|
display: grid;
|
|
gap: .15rem;
|
|
}
|
|
|
|
.rw-menu-panel .nav-link {
|
|
border-radius: 8px;
|
|
color: var(--rw-text);
|
|
display: block;
|
|
padding: .55rem .65rem !important;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.nav-link {
|
|
border-radius: 999px;
|
|
color: var(--rw-muted);
|
|
font-size: .9rem;
|
|
padding: .45rem .75rem !important;
|
|
}
|
|
|
|
.nav-link:hover,
|
|
.nav-link:focus {
|
|
background: var(--rw-surface-muted);
|
|
color: var(--rw-text);
|
|
}
|
|
|
|
@media (max-width: 920px) {
|
|
.effective-user-focus dl {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.rw-menu-panel {
|
|
position: static;
|
|
}
|
|
|
|
.rw-menu-group.open .rw-menu-panel {
|
|
display: grid;
|
|
}
|
|
|
|
.architecture-strip {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.architecture-arrow {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.page-title {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.page-title h1 {
|
|
font-size: 1.7rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
}
|
|
|
|
.page-title p {
|
|
color: var(--rw-muted);
|
|
margin: .35rem 0 0;
|
|
}
|
|
|
|
/* Keep the main task visible while moving background guidance out of the way. */
|
|
.context-summary {
|
|
color: var(--rw-muted);
|
|
margin: .35rem 0 0;
|
|
}
|
|
|
|
.explanation-details {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
margin-top: .7rem;
|
|
padding: .65rem .8rem;
|
|
}
|
|
|
|
.explanation-details > summary {
|
|
color: var(--rw-primary);
|
|
cursor: pointer;
|
|
font-size: .84rem;
|
|
font-weight: 800;
|
|
list-style-position: inside;
|
|
}
|
|
|
|
.explanation-details[open] > summary {
|
|
border-bottom: 1px solid var(--rw-border);
|
|
margin-bottom: .65rem;
|
|
padding-bottom: .55rem;
|
|
}
|
|
|
|
.explanation-details p,
|
|
.explanation-details ul,
|
|
.explanation-details ol {
|
|
color: var(--rw-muted);
|
|
line-height: 1.55;
|
|
margin: .35rem 0 0;
|
|
}
|
|
|
|
.explanation-details > :last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.content-band > .explanation-details:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.explanation-details.explanation-warning {
|
|
background: #fff8e8;
|
|
border-color: #e7d29c;
|
|
}
|
|
|
|
.architecture-strip {
|
|
align-items: stretch;
|
|
display: grid;
|
|
gap: .5rem;
|
|
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
|
|
margin-bottom: 1rem;
|
|
min-width: 0;
|
|
}
|
|
|
|
.architecture-step {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
min-width: 0;
|
|
padding: .85rem;
|
|
}
|
|
|
|
.architecture-step.active {
|
|
border-color: var(--rw-primary);
|
|
box-shadow: inset 0 0 0 1px var(--rw-primary);
|
|
}
|
|
|
|
.architecture-kicker {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .72rem;
|
|
font-weight: 800;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.architecture-step strong {
|
|
display: block;
|
|
font-size: .95rem;
|
|
margin-top: .15rem;
|
|
}
|
|
|
|
.architecture-step p {
|
|
color: var(--rw-muted);
|
|
font-size: .82rem;
|
|
margin: .25rem 0 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.architecture-arrow {
|
|
align-self: center;
|
|
color: var(--rw-muted);
|
|
font-weight: 800;
|
|
}
|
|
|
|
.rw-card,
|
|
.content-band,
|
|
.summary-tile {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
box-shadow: var(--rw-shadow);
|
|
}
|
|
|
|
.summary-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
gap: 1rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.summary-tile {
|
|
color: inherit;
|
|
display: block;
|
|
padding: 1rem;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.summary-tile:hover {
|
|
border-color: var(--rw-border-strong);
|
|
color: inherit;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.summary-tile .label {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .875rem;
|
|
}
|
|
|
|
.summary-tile strong {
|
|
display: block;
|
|
font-size: 1.75rem;
|
|
margin-top: .35rem;
|
|
}
|
|
|
|
.content-band {
|
|
margin-bottom: 1rem;
|
|
min-width: 0;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.back-link {
|
|
color: var(--rw-primary);
|
|
display: inline-block;
|
|
font-size: .86rem;
|
|
font-weight: 800;
|
|
margin-bottom: .6rem;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.settings-database-link {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 1rem;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.settings-database-link h2,
|
|
.settings-danger-zone h2 {
|
|
font-size: 1rem;
|
|
font-weight: 800;
|
|
margin: .3rem 0;
|
|
}
|
|
|
|
.settings-database-link p {
|
|
color: var(--rw-muted);
|
|
margin: 0;
|
|
max-width: 52rem;
|
|
}
|
|
|
|
.settings-danger-zone {
|
|
background: #fff8e8;
|
|
border-color: #e7d29c;
|
|
}
|
|
|
|
.settings-impact-list {
|
|
color: var(--rw-muted);
|
|
margin: .75rem 0 1rem;
|
|
padding-left: 1.25rem;
|
|
}
|
|
|
|
.settings-impact-list li + li {
|
|
margin-top: .3rem;
|
|
}
|
|
|
|
.settings-confirm-form {
|
|
align-items: end;
|
|
grid-template-columns: minmax(220px, 1fr) auto;
|
|
max-width: 46rem;
|
|
}
|
|
|
|
.content-band h2,
|
|
.section-heading h2 {
|
|
font-size: 1rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
}
|
|
|
|
.section-heading {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.section-subtitle {
|
|
color: var(--rw-muted);
|
|
font-size: .875rem;
|
|
margin: .2rem 0 0;
|
|
}
|
|
|
|
.form-grid {
|
|
align-items: end;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
|
|
gap: 1rem;
|
|
min-width: 0;
|
|
}
|
|
|
|
.token-form {
|
|
align-items: start;
|
|
}
|
|
|
|
.token-form .rw-btn-primary {
|
|
align-self: end;
|
|
}
|
|
|
|
.form-grid label {
|
|
color: var(--rw-muted);
|
|
font-size: .875rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.form-hint {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .78rem;
|
|
font-weight: 500;
|
|
line-height: 1.35;
|
|
margin-top: .35rem;
|
|
}
|
|
|
|
.form-grid .span-2 {
|
|
grid-column: span 2;
|
|
}
|
|
|
|
.inline-form {
|
|
display: inline;
|
|
}
|
|
|
|
.action-stack {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .4rem;
|
|
}
|
|
|
|
.action-stack .inline-form {
|
|
display: inline-flex;
|
|
}
|
|
|
|
.switch-field {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: .5rem;
|
|
min-height: 38px;
|
|
padding-left: 2.5rem;
|
|
}
|
|
|
|
.token-value {
|
|
display: block;
|
|
margin-top: .5rem;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.meta-row {
|
|
display: flex;
|
|
gap: 1rem;
|
|
margin-bottom: .75rem;
|
|
}
|
|
|
|
.master-detail {
|
|
border-bottom: 1px solid var(--rw-border);
|
|
padding-bottom: 1rem;
|
|
}
|
|
|
|
.field-block-title {
|
|
color: var(--rw-muted);
|
|
font-size: .875rem;
|
|
font-weight: 700;
|
|
margin-bottom: .35rem;
|
|
}
|
|
|
|
.rule-list {
|
|
display: grid;
|
|
gap: .5rem;
|
|
}
|
|
|
|
.rule-row {
|
|
display: grid;
|
|
gap: .5rem;
|
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
|
|
min-width: 0;
|
|
}
|
|
|
|
.permission-wizard {
|
|
display: grid;
|
|
gap: 1rem;
|
|
min-width: 0;
|
|
}
|
|
|
|
.wizard-progress {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .4rem;
|
|
}
|
|
|
|
.wizard-step-indicator {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 999px;
|
|
color: var(--rw-muted);
|
|
font-size: .82rem;
|
|
font-weight: 700;
|
|
min-height: 2rem;
|
|
padding: .3rem .7rem;
|
|
}
|
|
|
|
.wizard-step-indicator.active {
|
|
background: var(--rw-primary);
|
|
border-color: var(--rw-primary);
|
|
color: #fff;
|
|
}
|
|
|
|
.wizard-summary {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
|
|
min-width: 0;
|
|
}
|
|
|
|
.wizard-summary > div,
|
|
.policy-preview dl > div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
padding: .75rem;
|
|
}
|
|
|
|
.wizard-summary span,
|
|
.policy-preview dt {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.wizard-summary strong,
|
|
.policy-preview dd {
|
|
display: block;
|
|
margin: .25rem 0 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.wizard-panel {
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
display: none;
|
|
min-width: 0;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.wizard-panel.active {
|
|
display: grid;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.wizard-panel-heading {
|
|
align-items: flex-start;
|
|
display: flex;
|
|
gap: .75rem;
|
|
}
|
|
|
|
.wizard-panel-heading h3 {
|
|
font-size: 1rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
}
|
|
|
|
.wizard-panel-heading p,
|
|
.wizard-hint {
|
|
color: var(--rw-muted);
|
|
margin: .15rem 0 0;
|
|
}
|
|
|
|
.wizard-step-number {
|
|
align-items: center;
|
|
background: var(--rw-primary-soft);
|
|
border-radius: 999px;
|
|
color: var(--rw-primary);
|
|
display: inline-flex;
|
|
font-weight: 800;
|
|
height: 2rem;
|
|
justify-content: center;
|
|
min-width: 2rem;
|
|
}
|
|
|
|
.wizard-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: .5rem;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.policy-preview dl {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
margin: 0;
|
|
}
|
|
|
|
.effective-preview dl {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
|
|
margin: 0;
|
|
}
|
|
|
|
.effective-preview dl > div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
min-width: 0;
|
|
padding: .7rem;
|
|
}
|
|
|
|
.effective-preview dt {
|
|
color: var(--rw-muted);
|
|
font-size: .74rem;
|
|
font-weight: 800;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.effective-preview dd {
|
|
margin: .25rem 0 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.token-context-preview {
|
|
align-self: stretch;
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
padding: .9rem;
|
|
}
|
|
|
|
.token-context-preview .compact-heading {
|
|
gap: .5rem;
|
|
margin-bottom: .75rem;
|
|
}
|
|
|
|
.token-context-preview .compact-heading h3 {
|
|
font-size: .92rem;
|
|
font-weight: 800;
|
|
margin: 0;
|
|
}
|
|
|
|
.token-context-preview .form-hint {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.matrix-summary {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.matrix-summary > div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
padding: .85rem;
|
|
}
|
|
|
|
.matrix-summary span {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .78rem;
|
|
font-weight: 800;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.matrix-summary strong {
|
|
display: block;
|
|
font-size: 1.6rem;
|
|
line-height: 1.1;
|
|
margin-top: .25rem;
|
|
}
|
|
|
|
.effective-workbench {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
box-shadow: var(--rw-shadow);
|
|
margin-bottom: 1rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.effective-tabs {
|
|
background: var(--rw-surface-muted);
|
|
border-bottom: 1px solid var(--rw-border);
|
|
display: flex;
|
|
gap: .25rem;
|
|
padding: .5rem;
|
|
}
|
|
|
|
.effective-tab {
|
|
background: transparent;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
color: var(--rw-muted);
|
|
font-size: .88rem;
|
|
font-weight: 800;
|
|
padding: .55rem .7rem;
|
|
}
|
|
|
|
.effective-tab:hover,
|
|
.effective-tab:focus,
|
|
.effective-tab.is-active {
|
|
background: var(--rw-surface);
|
|
color: var(--rw-primary);
|
|
}
|
|
|
|
.effective-pane {
|
|
min-width: 0;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.effective-user-focus {
|
|
background: var(--rw-primary-soft);
|
|
border: 1px solid color-mix(in srgb, var(--rw-primary) 35%, var(--rw-border));
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.effective-user-focus-heading strong,
|
|
.effective-user-focus-heading small {
|
|
display: block;
|
|
}
|
|
|
|
.effective-user-focus-heading strong {
|
|
font-size: 1.2rem;
|
|
margin-top: .25rem;
|
|
}
|
|
|
|
.effective-user-focus-heading small {
|
|
color: var(--rw-muted);
|
|
margin-top: .15rem;
|
|
}
|
|
|
|
.effective-user-focus dl {
|
|
display: grid;
|
|
gap: .7rem;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
.effective-user-focus dl > div {
|
|
min-width: 0;
|
|
}
|
|
|
|
.effective-user-focus dt {
|
|
color: var(--rw-muted);
|
|
font-size: .75rem;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.effective-user-focus dd {
|
|
font-size: .86rem;
|
|
font-weight: 700;
|
|
margin: .25rem 0 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.effective-user-focus-footer {
|
|
align-items: center;
|
|
border-top: 1px solid var(--rw-border);
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
font-size: .84rem;
|
|
gap: .75rem;
|
|
justify-content: space-between;
|
|
padding-top: .75rem;
|
|
}
|
|
|
|
.effective-user-focus-footer a {
|
|
color: var(--rw-primary);
|
|
font-weight: 800;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.effective-table-detail {
|
|
border-top: 1px solid var(--rw-border);
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.setup-steps {
|
|
color: var(--rw-muted);
|
|
margin: 0;
|
|
padding-left: 1.25rem;
|
|
}
|
|
|
|
.setup-steps li + li {
|
|
margin-top: .25rem;
|
|
}
|
|
|
|
.matrix-filter {
|
|
color: var(--rw-muted);
|
|
font-size: .82rem;
|
|
font-weight: 700;
|
|
min-width: min(280px, 100%);
|
|
}
|
|
|
|
.matrix-list {
|
|
max-width: 28rem;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.delete-impact {
|
|
color: var(--rw-text);
|
|
max-width: 24rem;
|
|
min-width: 14rem;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.delete-impact div + div {
|
|
margin-top: .35rem;
|
|
}
|
|
|
|
.delete-impact span,
|
|
.delete-impact small {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .76rem;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.delete-impact strong {
|
|
display: block;
|
|
font-weight: 800;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.delete-confirm {
|
|
align-items: center;
|
|
color: var(--rw-muted);
|
|
display: inline-flex;
|
|
font-size: .76rem;
|
|
font-weight: 700;
|
|
gap: .25rem;
|
|
margin: 0 .35rem .25rem 0;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.delete-confirm.disabled {
|
|
opacity: .55;
|
|
}
|
|
|
|
.policy-apply-flow {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .4rem;
|
|
margin-bottom: .75rem;
|
|
}
|
|
|
|
.policy-apply-flow span {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 999px;
|
|
color: var(--rw-text);
|
|
font-size: .82rem;
|
|
font-weight: 800;
|
|
min-height: 2rem;
|
|
padding: .35rem .7rem;
|
|
}
|
|
|
|
.policy-apply-flow strong {
|
|
color: var(--rw-muted);
|
|
}
|
|
|
|
.policy-template-preview dl {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
|
|
margin: 0;
|
|
}
|
|
|
|
.policy-template-preview dl > div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
min-width: 0;
|
|
padding: .7rem;
|
|
}
|
|
|
|
.policy-template-preview dt {
|
|
color: var(--rw-muted);
|
|
font-size: .74rem;
|
|
font-weight: 800;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.policy-template-preview dd {
|
|
font-weight: 700;
|
|
margin: .25rem 0 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.bulk-apply-summary {
|
|
cursor: pointer;
|
|
font-weight: 700;
|
|
min-height: 2rem;
|
|
}
|
|
|
|
.vpd-target-controls {
|
|
align-items: end;
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: minmax(min(220px, 100%), 1.5fr) repeat(4, minmax(min(120px, 100%), 1fr)) auto auto;
|
|
margin-bottom: .75rem;
|
|
min-width: 0;
|
|
padding: .75rem;
|
|
}
|
|
|
|
.vpd-target-controls label {
|
|
color: var(--rw-muted);
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.vpd-support-toggle {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: .45rem;
|
|
min-height: 2.2rem;
|
|
}
|
|
|
|
.vpd-target-count {
|
|
color: var(--rw-muted);
|
|
font-size: .82rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.question-presets {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .5rem;
|
|
}
|
|
|
|
.question-preset {
|
|
max-width: 100%;
|
|
white-space: normal;
|
|
text-align: left;
|
|
}
|
|
|
|
.checkbox-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .75rem 1rem;
|
|
min-height: 2.45rem;
|
|
align-items: center;
|
|
}
|
|
|
|
.checkbox-row .form-check {
|
|
margin: 0;
|
|
}
|
|
|
|
.rw-btn,
|
|
.btn {
|
|
border-radius: 999px;
|
|
font-weight: 600;
|
|
min-height: 2.25rem;
|
|
padding: .45rem 1rem;
|
|
}
|
|
|
|
.rw-btn-primary,
|
|
.btn-primary {
|
|
background: var(--rw-primary);
|
|
border-color: var(--rw-primary);
|
|
color: #fff;
|
|
}
|
|
|
|
.rw-btn-primary:hover,
|
|
.rw-btn-primary:focus,
|
|
.btn-primary:hover,
|
|
.btn-primary:focus {
|
|
background: var(--rw-primary-hover);
|
|
border-color: var(--rw-primary-hover);
|
|
color: #fff;
|
|
}
|
|
|
|
.rw-btn-secondary,
|
|
.btn-outline-primary,
|
|
.btn-outline-secondary {
|
|
background: transparent;
|
|
border-color: var(--rw-border-strong);
|
|
color: var(--rw-primary);
|
|
}
|
|
|
|
.rw-btn-secondary:hover,
|
|
.btn-outline-primary:hover,
|
|
.btn-outline-secondary:hover {
|
|
background: var(--rw-primary-soft);
|
|
border-color: var(--rw-primary);
|
|
color: var(--rw-primary-hover);
|
|
}
|
|
|
|
.btn-outline-danger {
|
|
border-color: #d7b8b2;
|
|
color: var(--rw-danger);
|
|
}
|
|
|
|
.btn-outline-danger:hover {
|
|
background: #f8ded9;
|
|
border-color: var(--rw-danger);
|
|
color: #77291f;
|
|
}
|
|
|
|
.rw-field,
|
|
.form-control,
|
|
.form-select {
|
|
background-color: #fffefd;
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
color: var(--rw-text);
|
|
min-height: 2.45rem;
|
|
}
|
|
|
|
.rw-field:focus,
|
|
.form-control:focus,
|
|
.form-select:focus {
|
|
border-color: var(--rw-primary);
|
|
box-shadow: 0 0 0 .2rem var(--rw-focus);
|
|
}
|
|
|
|
.table {
|
|
--bs-table-bg: transparent;
|
|
--bs-table-striped-bg: #f6f3ef;
|
|
color: var(--rw-text);
|
|
}
|
|
|
|
.table thead th {
|
|
background: var(--rw-surface-muted);
|
|
border-bottom-color: var(--rw-border);
|
|
color: var(--rw-muted);
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.badge {
|
|
border-radius: 999px;
|
|
font-weight: 700;
|
|
padding: .35rem .6rem;
|
|
}
|
|
|
|
.text-bg-success {
|
|
background-color: #dcebe3 !important;
|
|
color: var(--rw-success) !important;
|
|
}
|
|
|
|
.text-bg-warning {
|
|
background-color: #f7ead0 !important;
|
|
color: var(--rw-warning) !important;
|
|
}
|
|
|
|
.text-bg-secondary {
|
|
background-color: #ece8e3 !important;
|
|
color: var(--rw-muted) !important;
|
|
}
|
|
|
|
.alert {
|
|
border-radius: 8px;
|
|
border-width: 1px;
|
|
}
|
|
|
|
.alert-success {
|
|
background: #edf6f0;
|
|
border-color: #bed8c9;
|
|
color: #2f5c47;
|
|
}
|
|
|
|
.alert-warning {
|
|
background: #fff5df;
|
|
border-color: #e7cfa0;
|
|
color: #6f4b0f;
|
|
}
|
|
|
|
.alert-danger {
|
|
background: #f9e5e1;
|
|
border-color: #e2b8b0;
|
|
color: #812e23;
|
|
}
|
|
|
|
.probe-exchange-grid {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
.mcp-service-grid {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
}
|
|
|
|
.mcp-service-item {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
display: grid;
|
|
gap: .35rem;
|
|
min-height: 124px;
|
|
padding: .85rem;
|
|
}
|
|
|
|
.mcp-service-item span {
|
|
color: var(--rw-muted);
|
|
font-size: .78rem;
|
|
font-weight: 800;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.mcp-service-item strong {
|
|
font-size: .95rem;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.mcp-service-item small {
|
|
color: var(--rw-muted);
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.chat-shell {
|
|
display: grid;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.chat-thread {
|
|
display: grid;
|
|
gap: .75rem;
|
|
}
|
|
|
|
.chat-message {
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
max-width: 100%;
|
|
padding: .85rem;
|
|
}
|
|
|
|
.chat-message strong {
|
|
display: block;
|
|
font-size: .82rem;
|
|
margin-bottom: .45rem;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.chat-message p {
|
|
margin: 0;
|
|
}
|
|
|
|
.user-message {
|
|
background: #edf2f7;
|
|
margin-left: auto;
|
|
width: min(760px, 92%);
|
|
}
|
|
|
|
.assistant-message {
|
|
background: var(--rw-surface-muted);
|
|
width: min(920px, 100%);
|
|
}
|
|
|
|
.chat-form {
|
|
border-top: 1px solid var(--rw-border);
|
|
display: grid;
|
|
gap: .75rem;
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.chat-form-row {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: minmax(180px, 1fr) minmax(120px, 180px);
|
|
}
|
|
|
|
.chat-form label {
|
|
color: var(--rw-muted);
|
|
font-size: .875rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.chat-debug {
|
|
margin-top: .75rem;
|
|
}
|
|
|
|
.chat-debug summary {
|
|
color: var(--rw-primary);
|
|
cursor: pointer;
|
|
font-weight: 700;
|
|
}
|
|
|
|
@media (max-width: 720px) {
|
|
.chat-form-row {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.user-message,
|
|
.assistant-message {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.probe-exchange {
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.probe-exchange h3 {
|
|
background: var(--rw-surface-muted);
|
|
border-bottom: 1px solid var(--rw-border);
|
|
font-size: .85rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
padding: .55rem .75rem;
|
|
}
|
|
|
|
.probe-exchange pre {
|
|
background: #211f1d;
|
|
color: #fbf9f7;
|
|
font-size: .78rem;
|
|
margin: 0;
|
|
max-height: 320px;
|
|
overflow: auto;
|
|
padding: .75rem;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.code-editor {
|
|
background: #211f1d;
|
|
border: 0;
|
|
border-radius: 0;
|
|
color: #fbf9f7;
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
|
|
font-size: .78rem;
|
|
line-height: 1.45;
|
|
min-height: 320px;
|
|
resize: vertical;
|
|
}
|
|
|
|
.code-editor:focus {
|
|
background: #211f1d;
|
|
color: #fbf9f7;
|
|
}
|
|
|
|
.form-actions {
|
|
align-items: center;
|
|
background: var(--rw-surface-muted);
|
|
border-top: 1px solid var(--rw-border);
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
padding: .55rem .75rem;
|
|
}
|
|
|
|
.table-pre {
|
|
background: transparent;
|
|
color: inherit;
|
|
font-size: .78rem;
|
|
margin: 0;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.schema-summary {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: repeat(6, minmax(0, 1fr));
|
|
}
|
|
|
|
.schema-summary div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
min-width: 0;
|
|
padding: .7rem .8rem;
|
|
}
|
|
|
|
.schema-summary span {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .76rem;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.schema-summary strong {
|
|
color: var(--rw-text);
|
|
display: block;
|
|
font-size: .98rem;
|
|
font-weight: 800;
|
|
line-height: 1.35;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.schema-preview-grid {
|
|
display: grid;
|
|
gap: 1rem;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.schema-preview-grid details {
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.schema-preview-grid summary {
|
|
cursor: pointer;
|
|
font-weight: 800;
|
|
padding: .75rem .9rem;
|
|
}
|
|
|
|
.schema-sql-preview {
|
|
background: #211f1d;
|
|
border-top: 1px solid var(--rw-border);
|
|
color: #fbf9f7;
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
|
|
font-size: .76rem;
|
|
line-height: 1.45;
|
|
margin: 0;
|
|
max-height: 28rem;
|
|
overflow: auto;
|
|
padding: .85rem;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.table-responsive > .schema-preflight-table th,
|
|
.table-responsive > .schema-preflight-table td,
|
|
.table-responsive > .schema-preflight-table code {
|
|
overflow-wrap: anywhere;
|
|
white-space: normal;
|
|
}
|
|
|
|
.schema-preflight-table th:nth-child(1),
|
|
.schema-preflight-table td:nth-child(1),
|
|
.schema-preflight-table th:nth-child(3),
|
|
.schema-preflight-table td:nth-child(3),
|
|
.schema-preflight-table th:nth-child(4),
|
|
.schema-preflight-table td:nth-child(4) {
|
|
width: 8rem;
|
|
}
|
|
|
|
.policy-function-button {
|
|
border-radius: 8px;
|
|
max-width: 100%;
|
|
overflow-wrap: anywhere;
|
|
text-align: left;
|
|
}
|
|
|
|
.policy-function-button.active,
|
|
.policy-function-button[aria-expanded="true"] {
|
|
background: var(--rw-accent-soft);
|
|
border-color: var(--rw-accent);
|
|
color: var(--rw-accent-strong);
|
|
}
|
|
|
|
.policy-source-cell {
|
|
background: var(--rw-surface) !important;
|
|
padding: 0 0 .75rem !important;
|
|
}
|
|
|
|
.filter-edit-grid {
|
|
display: grid;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.filter-edit-form {
|
|
display: grid;
|
|
gap: .75rem;
|
|
padding: .75rem;
|
|
}
|
|
|
|
.filter-detail-stack + .filter-detail-stack {
|
|
border-top: 1px solid var(--rw-border);
|
|
margin-top: 1rem;
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.policy-detail-list {
|
|
display: grid;
|
|
grid-template-columns: minmax(120px, 34%) 1fr;
|
|
margin: 0;
|
|
}
|
|
|
|
.policy-detail-list dt,
|
|
.policy-detail-list dd {
|
|
border-bottom: 1px solid var(--rw-border);
|
|
margin: 0;
|
|
min-width: 0;
|
|
padding: .6rem .75rem;
|
|
}
|
|
|
|
.policy-detail-list dt {
|
|
background: var(--rw-surface-muted);
|
|
color: var(--rw-muted);
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.policy-detail-list dd {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.htmx-indicator {
|
|
display: none;
|
|
}
|
|
|
|
.htmx-request .htmx-indicator,
|
|
.htmx-request.htmx-indicator {
|
|
display: inline-flex;
|
|
}
|
|
|
|
.loading-pill {
|
|
align-items: center;
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 999px;
|
|
color: var(--rw-muted);
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
gap: .4rem;
|
|
min-height: 2rem;
|
|
padding: .25rem .65rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.loading-spinner {
|
|
animation: spin .8s linear infinite;
|
|
border: 2px solid var(--rw-border-strong);
|
|
border-top-color: var(--rw-primary);
|
|
border-radius: 999px;
|
|
display: inline-block;
|
|
height: .9rem;
|
|
width: .9rem;
|
|
}
|
|
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.ai-answer {
|
|
background: var(--rw-primary-soft);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
margin: 1rem 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ai-answer h3 {
|
|
border-bottom: 1px solid var(--rw-border);
|
|
font-size: .9rem;
|
|
font-weight: 700;
|
|
margin: 0;
|
|
padding: .6rem .8rem;
|
|
}
|
|
|
|
.ai-answer pre,
|
|
.markdown-view {
|
|
color: var(--rw-text);
|
|
font-family: inherit;
|
|
font-size: .95rem;
|
|
margin: 0;
|
|
padding: .85rem;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.markdown-view {
|
|
line-height: 1.6;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.markdown-view h2,
|
|
.markdown-view h3 {
|
|
border: 0;
|
|
color: var(--rw-text);
|
|
margin: .9rem 0 .45rem;
|
|
padding: 0;
|
|
}
|
|
|
|
.markdown-view h2:first-child,
|
|
.markdown-view h3:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.markdown-view h2 {
|
|
font-size: 1.05rem;
|
|
}
|
|
|
|
.markdown-view h3 {
|
|
font-size: .98rem;
|
|
}
|
|
|
|
.markdown-view p {
|
|
margin: .45rem 0;
|
|
}
|
|
|
|
.markdown-view ul,
|
|
.markdown-view ol {
|
|
margin: .45rem 0 .65rem 1.25rem;
|
|
padding: 0;
|
|
}
|
|
|
|
.markdown-view code {
|
|
background: rgba(49, 45, 42, .08);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 4px;
|
|
color: var(--rw-text);
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
font-size: .88em;
|
|
padding: .08rem .28rem;
|
|
}
|
|
|
|
.markdown-view table {
|
|
background: var(--rw-surface);
|
|
border-collapse: collapse;
|
|
font-size: .86rem;
|
|
margin: .7rem 0;
|
|
min-width: 760px;
|
|
width: 100%;
|
|
}
|
|
|
|
.markdown-view th,
|
|
.markdown-view td {
|
|
border: 1px solid var(--rw-border);
|
|
padding: .55rem .65rem;
|
|
text-align: left;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.markdown-view th {
|
|
background: var(--rw-surface-muted);
|
|
font-weight: 800;
|
|
}
|
|
|
|
.table-responsive {
|
|
max-width: 100%;
|
|
min-width: 0;
|
|
overflow-x: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.table-responsive > .table {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.table th,
|
|
.table td {
|
|
min-width: 0;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.table-responsive > .table th,
|
|
.table-responsive > .table td {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.table code,
|
|
.table-responsive > .table code {
|
|
overflow-wrap: normal;
|
|
white-space: nowrap;
|
|
word-break: normal;
|
|
}
|
|
|
|
.table-pre {
|
|
max-height: 8rem;
|
|
overflow: auto;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
@media (max-width: 920px) {
|
|
.schema-summary {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.schema-preview-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.architecture-strip {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.architecture-arrow {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
.settings-confirm-form {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.effective-tabs {
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.effective-tab {
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.effective-user-focus dl {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.schema-summary {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
main.container {
|
|
max-width: 100%;
|
|
min-width: 0;
|
|
padding-left: .75rem;
|
|
padding-right: .75rem;
|
|
}
|
|
|
|
.page-title {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.page-title h1 {
|
|
font-size: 1.45rem;
|
|
}
|
|
|
|
.content-band {
|
|
padding: .85rem;
|
|
}
|
|
|
|
.section-heading {
|
|
align-items: flex-start;
|
|
gap: .5rem;
|
|
}
|
|
|
|
.form-grid .span-2 {
|
|
grid-column: span 1;
|
|
}
|
|
|
|
.rule-row {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.rule-row .btn {
|
|
width: 100%;
|
|
}
|
|
|
|
.wizard-panel {
|
|
padding: .85rem;
|
|
}
|
|
|
|
.wizard-actions {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.wizard-actions .btn {
|
|
flex: 1 1 auto;
|
|
}
|
|
|
|
.vpd-target-controls {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.vpd-target-count {
|
|
white-space: normal;
|
|
}
|
|
|
|
.table-responsive > .table {
|
|
min-width: 960px;
|
|
}
|
|
|
|
.navbar .container {
|
|
align-items: flex-start;
|
|
gap: .75rem;
|
|
}
|
|
|
|
.rw-menu {
|
|
width: 100%;
|
|
}
|
|
|
|
.rw-menu-group {
|
|
min-width: 0;
|
|
}
|
|
|
|
.rw-menu-trigger {
|
|
padding-left: .65rem;
|
|
padding-right: .65rem;
|
|
}
|
|
}
|
|
|
|
/* Guided permission journey (#557) */
|
|
.dashboard-page {
|
|
max-width: 1120px;
|
|
}
|
|
|
|
.dashboard-hero {
|
|
align-items: end;
|
|
border-bottom: 1px solid var(--rw-border);
|
|
display: grid;
|
|
gap: 1rem 2rem;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
margin-bottom: 1.25rem;
|
|
padding: .5rem 0 1.25rem;
|
|
}
|
|
|
|
.dashboard-hero h1 {
|
|
font-size: clamp(1.7rem, 3vw, 2.25rem);
|
|
font-weight: 750;
|
|
letter-spacing: -.035em;
|
|
line-height: 1.2;
|
|
margin: .25rem 0 0;
|
|
}
|
|
|
|
.dashboard-hero p {
|
|
color: var(--rw-muted);
|
|
margin: .5rem 0 0;
|
|
}
|
|
|
|
.dashboard-hero-actions {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: .5rem;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.dashboard-explanation {
|
|
grid-column: 1 / -1;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.dashboard-command-center {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 12px;
|
|
box-shadow: var(--rw-shadow);
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) minmax(230px, .32fr);
|
|
margin-bottom: 1.25rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.dashboard-primary-action {
|
|
min-width: 0;
|
|
padding: 1.3rem;
|
|
}
|
|
|
|
.dashboard-primary-action h2,
|
|
.dashboard-section-heading h2 {
|
|
font-size: 1.12rem;
|
|
font-weight: 800;
|
|
margin: .25rem 0 0;
|
|
}
|
|
|
|
.dashboard-primary-action > p {
|
|
color: var(--rw-muted);
|
|
margin: .4rem 0 1rem;
|
|
}
|
|
|
|
.dashboard-action-grid {
|
|
display: grid;
|
|
gap: .7rem;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.dashboard-action {
|
|
align-items: center;
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
color: var(--rw-text);
|
|
display: grid;
|
|
gap: .65rem;
|
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
min-width: 0;
|
|
padding: .8rem;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.dashboard-action:hover,
|
|
.dashboard-action:focus {
|
|
border-color: var(--rw-primary);
|
|
color: var(--rw-text);
|
|
}
|
|
|
|
.dashboard-action-emphasis {
|
|
background: var(--rw-primary-soft);
|
|
border-color: color-mix(in srgb, var(--rw-primary) 35%, var(--rw-border));
|
|
}
|
|
|
|
.dashboard-action-icon {
|
|
align-items: center;
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 999px;
|
|
color: var(--rw-primary);
|
|
display: inline-flex;
|
|
font-size: .72rem;
|
|
font-weight: 900;
|
|
height: 2rem;
|
|
justify-content: center;
|
|
width: 2rem;
|
|
}
|
|
|
|
.dashboard-action strong,
|
|
.dashboard-action small {
|
|
display: block;
|
|
}
|
|
|
|
.dashboard-action strong {
|
|
font-size: .9rem;
|
|
}
|
|
|
|
.dashboard-action small {
|
|
color: var(--rw-muted);
|
|
font-size: .78rem;
|
|
line-height: 1.35;
|
|
margin-top: .15rem;
|
|
}
|
|
|
|
.dashboard-action-arrow {
|
|
color: var(--rw-primary);
|
|
font-weight: 900;
|
|
}
|
|
|
|
.dashboard-state {
|
|
background: var(--rw-surface-muted);
|
|
border-left: 1px solid var(--rw-border);
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 1.3rem;
|
|
}
|
|
|
|
.dashboard-state dl {
|
|
display: grid;
|
|
gap: .65rem;
|
|
margin: .75rem 0 auto;
|
|
}
|
|
|
|
.dashboard-state dl > div {
|
|
align-items: baseline;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.dashboard-state dt {
|
|
color: var(--rw-muted);
|
|
font-size: .82rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.dashboard-state dd {
|
|
font-size: 1.35rem;
|
|
font-weight: 850;
|
|
line-height: 1;
|
|
margin: 0;
|
|
}
|
|
|
|
.dashboard-state > a {
|
|
color: var(--rw-primary);
|
|
font-size: .84rem;
|
|
font-weight: 800;
|
|
margin-top: 1rem;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.dashboard-workflow {
|
|
margin-bottom: 1.25rem;
|
|
}
|
|
|
|
.dashboard-section-heading {
|
|
margin-bottom: .7rem;
|
|
}
|
|
|
|
.workflow-steps {
|
|
display: grid;
|
|
gap: .6rem;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.workflow-steps a {
|
|
border-top: 2px solid var(--rw-border-strong);
|
|
color: var(--rw-text);
|
|
display: grid;
|
|
gap: .2rem;
|
|
grid-template-columns: auto minmax(0, 1fr);
|
|
padding: .65rem 0;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.workflow-steps a:hover,
|
|
.workflow-steps a:focus {
|
|
border-color: var(--rw-primary);
|
|
color: var(--rw-primary);
|
|
}
|
|
|
|
.workflow-steps span {
|
|
color: var(--rw-primary);
|
|
font-size: .76rem;
|
|
font-weight: 900;
|
|
grid-row: span 2;
|
|
margin-right: .1rem;
|
|
}
|
|
|
|
.workflow-steps strong {
|
|
font-size: .88rem;
|
|
}
|
|
|
|
.workflow-steps small {
|
|
color: var(--rw-muted);
|
|
font-size: .76rem;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.dashboard-details {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.dashboard-details > summary {
|
|
color: var(--rw-primary);
|
|
cursor: pointer;
|
|
font-size: .9rem;
|
|
font-weight: 800;
|
|
padding: .85rem 1rem;
|
|
}
|
|
|
|
.dashboard-details[open] > summary {
|
|
border-bottom: 1px solid var(--rw-border);
|
|
}
|
|
|
|
.dashboard-details-body {
|
|
padding: 1rem;
|
|
}
|
|
|
|
.dashboard-object-list {
|
|
border-top: 1px solid var(--rw-border);
|
|
margin-top: 1rem;
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.guided-hero {
|
|
max-width: 920px;
|
|
}
|
|
|
|
.guided-hero h1 {
|
|
font-size: clamp(1.75rem, 3.2vw, 2.5rem);
|
|
line-height: 1.18;
|
|
margin-top: .35rem;
|
|
}
|
|
|
|
.guided-hero p {
|
|
font-size: 1rem;
|
|
line-height: 1.65;
|
|
max-width: 850px;
|
|
}
|
|
|
|
.journey-grid {
|
|
display: grid;
|
|
gap: 1rem;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.journey-card {
|
|
align-items: flex-start;
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
box-shadow: var(--rw-shadow);
|
|
color: inherit;
|
|
display: flex;
|
|
gap: 1rem;
|
|
min-width: 0;
|
|
padding: 1.15rem;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.journey-card:hover {
|
|
border-color: var(--rw-primary);
|
|
color: inherit;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.journey-number {
|
|
align-items: center;
|
|
background: var(--rw-primary-soft);
|
|
border-radius: 999px;
|
|
color: var(--rw-primary);
|
|
display: inline-flex;
|
|
flex: 0 0 2.2rem;
|
|
font-weight: 800;
|
|
height: 2.2rem;
|
|
justify-content: center;
|
|
}
|
|
|
|
.journey-card h2 {
|
|
font-size: 1.05rem;
|
|
font-weight: 800;
|
|
margin: .1rem 0 .35rem;
|
|
}
|
|
|
|
.journey-card p {
|
|
color: var(--rw-muted);
|
|
line-height: 1.5;
|
|
margin: 0 0 .75rem;
|
|
}
|
|
|
|
.journey-card strong {
|
|
color: var(--rw-primary);
|
|
font-size: .88rem;
|
|
}
|
|
|
|
.macro-micro-grid {
|
|
display: grid;
|
|
gap: 1rem;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.macro-micro-grid > div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
min-width: 0;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.macro-micro-grid h2,
|
|
.macro-micro-grid h3 {
|
|
font-size: 1rem;
|
|
font-weight: 800;
|
|
margin: .3rem 0 .45rem;
|
|
}
|
|
|
|
.macro-micro-grid p {
|
|
color: var(--rw-muted);
|
|
line-height: 1.55;
|
|
margin: 0;
|
|
}
|
|
|
|
.guided-check-intro {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 1rem;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.guided-check-intro h2 {
|
|
margin: .25rem 0 .4rem;
|
|
}
|
|
|
|
.guided-check-intro p {
|
|
color: var(--rw-muted);
|
|
margin: 0;
|
|
max-width: 760px;
|
|
}
|
|
|
|
.probe-form {
|
|
align-items: end;
|
|
}
|
|
|
|
.probe-submit {
|
|
min-height: 2.8rem;
|
|
}
|
|
|
|
.empty-result-guide {
|
|
color: var(--rw-muted);
|
|
}
|
|
|
|
.empty-result-guide ol {
|
|
margin: .65rem 0 0;
|
|
padding-left: 1.25rem;
|
|
}
|
|
|
|
.probe-result-flow {
|
|
display: grid;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.probe-result-flow > .section-heading {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.probe-summary {
|
|
color: var(--rw-text);
|
|
font-size: 1rem;
|
|
line-height: 1.6;
|
|
margin: 0;
|
|
}
|
|
|
|
.result-section {
|
|
border-top: 1px solid var(--rw-border);
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.result-section h3,
|
|
.next-action-card h3,
|
|
.probe-exchange h3 {
|
|
font-size: .92rem;
|
|
font-weight: 800;
|
|
margin: 0;
|
|
}
|
|
|
|
.result-metrics {
|
|
display: grid;
|
|
gap: .75rem;
|
|
grid-template-columns: minmax(120px, .5fr) minmax(0, 1.5fr);
|
|
}
|
|
|
|
.result-metrics > div {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
padding: .8rem;
|
|
}
|
|
|
|
.result-metrics span {
|
|
color: var(--rw-muted);
|
|
display: block;
|
|
font-size: .76rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.result-metrics strong {
|
|
display: block;
|
|
margin-top: .25rem;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.next-action-card {
|
|
background: var(--rw-primary-soft);
|
|
border: 1px solid rgba(122, 62, 47, .2);
|
|
border-radius: 8px;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.next-action-card p {
|
|
line-height: 1.55;
|
|
margin: .45rem 0 .8rem;
|
|
}
|
|
|
|
.technical-details,
|
|
.advanced-details {
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
padding: .8rem;
|
|
}
|
|
|
|
.technical-details > summary,
|
|
.advanced-details > summary {
|
|
cursor: pointer;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.issued-token-card {
|
|
background: var(--rw-primary-soft);
|
|
border: 1px solid rgba(122, 62, 47, .25);
|
|
border-radius: 8px;
|
|
box-shadow: var(--rw-shadow);
|
|
margin-bottom: 1rem;
|
|
padding: 1.15rem;
|
|
}
|
|
|
|
.issued-token-card h2 {
|
|
font-size: 1.05rem;
|
|
font-weight: 800;
|
|
margin: .3rem 0 .65rem;
|
|
}
|
|
|
|
.issued-token-card .token-value {
|
|
background: var(--rw-surface);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
padding: .75rem;
|
|
}
|
|
|
|
.default-vpd-form {
|
|
grid-template-columns: minmax(220px, 1.2fr) minmax(260px, 1.5fr) auto;
|
|
}
|
|
|
|
.default-policy-summary,
|
|
.protected-function-card {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
display: grid;
|
|
gap: .2rem;
|
|
min-width: 0;
|
|
padding: .7rem .85rem;
|
|
}
|
|
|
|
.default-policy-summary span,
|
|
.protected-function-card span {
|
|
color: var(--rw-muted);
|
|
font-size: .8rem;
|
|
}
|
|
|
|
.advanced-guidance {
|
|
background: #fff8e8;
|
|
border: 1px solid #e7d29c;
|
|
border-radius: 8px;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.advanced-guidance h2 {
|
|
margin-bottom: .6rem;
|
|
}
|
|
|
|
.advanced-guidance p {
|
|
margin: .3rem 0 0;
|
|
}
|
|
|
|
.advanced-guidance ul {
|
|
margin: 0;
|
|
padding-left: 1.25rem;
|
|
}
|
|
|
|
.advanced-guidance li + li {
|
|
margin-top: .45rem;
|
|
}
|
|
|
|
.protected-function-card {
|
|
grid-template-columns: auto minmax(180px, auto) 1fr;
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
.filter-replace-form {
|
|
display: grid;
|
|
gap: .4rem;
|
|
grid-template-columns: minmax(150px, .8fr) minmax(220px, 1fr) auto;
|
|
min-width: 520px;
|
|
}
|
|
|
|
.column-policy-explainer {
|
|
background: var(--rw-surface-muted);
|
|
border: 1px solid var(--rw-border);
|
|
border-radius: 8px;
|
|
margin: .85rem 0;
|
|
padding: .85rem;
|
|
}
|
|
|
|
.column-policy-explainer p {
|
|
color: var(--rw-muted);
|
|
line-height: 1.55;
|
|
margin: .35rem 0 0;
|
|
}
|
|
|
|
.object-handler-explainer {
|
|
display: grid;
|
|
gap: .25rem;
|
|
margin-bottom: .75rem;
|
|
}
|
|
|
|
.object-handler-explainer small {
|
|
color: var(--rw-muted);
|
|
}
|
|
|
|
.selected-column-list {
|
|
display: block;
|
|
margin-top: .45rem;
|
|
min-height: 1.5rem;
|
|
}
|
|
|
|
@media (max-width: 920px) {
|
|
.dashboard-hero,
|
|
.dashboard-command-center {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.dashboard-hero-actions {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.dashboard-state {
|
|
border-left: 0;
|
|
border-top: 1px solid var(--rw-border);
|
|
}
|
|
|
|
.dashboard-state dl {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.journey-grid,
|
|
.macro-micro-grid,
|
|
.default-vpd-form {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.guided-check-intro {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.protected-function-card {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
.dashboard-primary-action,
|
|
.dashboard-state {
|
|
padding: 1rem;
|
|
}
|
|
|
|
.dashboard-action-grid,
|
|
.workflow-steps,
|
|
.dashboard-state dl {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.dashboard-hero-actions .btn {
|
|
flex: 1 1 12rem;
|
|
}
|
|
|
|
.journey-card {
|
|
padding: .9rem;
|
|
}
|
|
|
|
.result-metrics {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|