1211 lines
20 KiB
CSS
1211 lines
20 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) {
|
|
.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;
|
|
}
|
|
|
|
.architecture-strip {
|
|
align-items: stretch;
|
|
display: grid;
|
|
gap: .5rem;
|
|
grid-template-columns: 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;
|
|
}
|
|
|
|
.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;
|
|
}
|
|
|
|
.form-grid label {
|
|
color: var(--rw-muted);
|
|
font-size: .875rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.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;
|
|
}
|
|
|
|
.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;
|
|
}
|
|
|
|
.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) {
|
|
.architecture-strip {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.architecture-arrow {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
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;
|
|
}
|
|
}
|