:root {
    --rm-brand: #0f766e;
    --rm-brand-2: #14b8a6;
    --rm-soft: #ecfdf5;
}
[data-bs-theme="dark"] {
    --rm-soft: #0b2a27;
}
body { background: var(--bs-tertiary-bg); }
.rm-nav { background: var(--bs-body-bg); }
.rm-logo { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px;
    background: linear-gradient(135deg, var(--rm-brand), var(--rm-brand-2)); color: #fff; }
.rm-logo .material-icons { font-size: 20px; }
.btn-brand { --bs-btn-bg: var(--rm-brand); --bs-btn-border-color: var(--rm-brand); --bs-btn-color: #fff;
    --bs-btn-hover-bg: #115e59; --bs-btn-hover-border-color: #115e59; --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #134e4a; --bs-btn-active-color: #fff; }
.text-brand { color: var(--rm-brand) !important; }
.card { border: 0; box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04); border-radius: 14px; }
.card-header { background: transparent; }
.rm-hero { background: linear-gradient(135deg, var(--rm-brand), var(--rm-brand-2)); color: #fff; border-radius: 18px; }
.rm-hero .lead { opacity: .92; }
.rm-stat .label { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--bs-secondary-color); }
.rm-stat .value { font-size: 1.6rem; font-weight: 700; }
.rm-tree { list-style: none; padding-left: 0; margin: 0; }
.rm-tree .rm-tree { padding-left: 1.25rem; border-left: 2px solid var(--bs-border-color); margin-left: .9rem; }
.rm-tree-item { display: flex; align-items: center; gap: .6rem; padding: .55rem .75rem; border-radius: 10px; text-decoration: none; color: inherit; }
.rm-tree-item:hover { background: var(--rm-soft); }
.rm-tree-item .material-icons { color: var(--rm-brand); }
.rm-thumb { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; background: var(--bs-secondary-bg); }
.rm-thumb-empty { display: inline-flex; align-items: center; justify-content: center; color: var(--bs-secondary-color); }
.rm-receipt-img { max-width: 100%; border-radius: 12px; border: 1px solid var(--bs-border-color); }
.rm-badge { font-weight: 500; }
.rm-rights .form-check { margin-right: 1rem; }
.rm-lines td input { min-width: 5rem; }
.rm-link-box { word-break: break-all; font-family: var(--bs-font-monospace); background: var(--rm-soft); padding: .75rem; border-radius: 10px; }
.table > :not(caption) > * > * { vertical-align: middle; }
.rm-preset.active { background: var(--rm-brand); color: #fff; border-color: var(--rm-brand); }
.rm-empty { padding: 3rem 1rem; text-align: center; color: var(--bs-secondary-color); }
.rm-empty .material-icons { font-size: 48px; color: var(--rm-brand-2); }
.rm-drop { border: 2px dashed var(--bs-border-color); border-radius: 14px; padding: 1.5rem; text-align: center; }
.rm-preview { max-height: 360px; max-width: 100%; border-radius: 10px; }
.d-none-js { display: none; }
/* Charts (server-drawn SVG; colours from classes because the CSP allows no inline styles) */
.rm-chart { width: 100%; height: auto; display: block; }
.rm-chart-label, .rm-chart-value, .rm-chart-tick { fill: var(--bs-body-color); font-size: 14px; font-family: var(--bs-body-font-family); }
.rm-chart-tick { font-size: 11px; fill: var(--bs-secondary-color); }
.rm-chart-value { font-weight: 600; }
.rm-axis { stroke: var(--bs-border-color); stroke-width: 1; }
.rm-bar-0 { fill: #0f766e; } .rm-bar-1 { fill: #14b8a6; } .rm-bar-2 { fill: #0ea5e9; }
.rm-bar-3 { fill: #f59e0b; } .rm-bar-4 { fill: #8b5cf6; } .rm-bar-5 { fill: #ef4444; }
.rm-progress { width: 100%; height: 8px; display: block; }
.rm-progress-track { fill: var(--bs-secondary-bg); }
.rm-progress-ok { fill: #14b8a6; } .rm-progress-warn { fill: #f59e0b; } .rm-progress-over { fill: #dc2626; }
.rm-pick-list { max-height: 260px; overflow: auto; border: 1px solid var(--bs-border-color); border-radius: 10px; padding: .5rem .75rem; }
.rm-indent-1 { margin-left: 1.1rem; } .rm-indent-2 { margin-left: 2.2rem; } .rm-indent-3 { margin-left: 3.3rem; }
.rm-indent-4 { margin-left: 4.4rem; } .rm-indent-5 { margin-left: 5.5rem; }
