.rrm-root {
    --font-xs: 10px;
    --font-sm: 13px;
    --font-md: 16px;
    --font-lg: 18px;
    --font-xl: 24px;

    --gap-xs: 6px;
    --gap-sm: 8px;
    --gap-md: 10px;
    --gap-lg: 16px;

    --p-xs: 6px;
    --p-sm: 8px;
    --p-md: 10px;
    --p-lg: 16px;
    --p-xl: 32px;

    /* corner radius */
    --cr-xs: 2px; 
    --cr-sm: 4px;
    --cr-md: 8px;
    --cr-lg: 16px;

    --m-xs: 8px;
    --m-md: 16px;

    --input-width-xs: 50px;
    --input-width-sm: 100px;
    --input-width-md: 200px;
    --input-width-lg: 400px;

    --font-primary-color: #3a3a3a;
    --font-secondary-color: #596067;
    --section-border-color: #D2DCEC;
    --table-border-color: #F2F5FA;
    --button-bg: #eee;
    --primary-btn-color: var(--rrm-light-theme-primary-color-6);
    --primary-active: #688EBC;
    --primary-bg-color: #F3F8FE;
    --primary-th-color: #CAD7E7;

    --rrm-light-theme-primary-color-6: #3C64A5;
    --rrm-light-theme-primary-color-5: #537BB7;
    --rrm-light-theme-primary-color-4: #7695C3;
    --rrm-light-theme-primary-color-3: #D2DCEC;
    --rrm-light-theme-primary-color-2: #E5EAF4;
    --rrm-light-theme-primary-color-1: #F2F5FA;
}

* {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

ul {
    margin: 0;
    padding: 0;
}

table.rrm-data-list th, table.rrm-data-list td {
    padding: 6px 12px;
    border: 1px solid black;
}

form > *:not(button, label) {
    min-width: 300px;
}
form > *:not(button, label),

.form > div *:not(button, label) {
    display: block;
    margin-bottom: 12px;
}
/* form > .rrm-basic-info-bar-item {
    display: block;
    min-width: 0px;
} */
form textarea {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    tab-size: 4;
    border-radius: var(--cr-xs);
    border: 1px solid #7695C3;
    outline: none;
}
form select {
    padding: var(--p-xs);
    border-radius: var(--cr-xs);
    border: 1px solid #7695C3;
    outline: none;
}
form button {
    /* min-width: 80px; */
}

.rrm-disabled {
    background-color: rgba(239, 239, 239, 0.3);
    color: rgb(84, 84, 84);
    border-color: rgba(118, 118, 118, 0.3);
    border-width: 1px;
}

.rrm-readonly-text {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    tab-size: 4;
    border-color: #7695C3;
    border-radius: var(--p-xs);
    background-color: #f8f8f8;
    outline: none;
}

html, body, .rrm-app {
    padding: 0;
    margin: 0;
    height: 100%;
}

h1, h2, h3, h4, h5 {
    margin: 0;
}

a, a:visited {
    color: inherit;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
    color: #000088;
}

button {
    background-color: var(--primary-btn-color);
    font-size: var(--font-md);
    color: white;
    padding: var(--p-xs) var(--p-sm);
    border: none;
    border-radius: var(--cr-xs);
    cursor: pointer;
}

button:hover {
    opacity: 0.8;
}

input {
    padding: var(--p-xs);
    border-radius: var(--cr-xs);
    border: 1px solid #7695C3;
    outline: none;
}

input:focus {
    padding: var(--p-xs);
    border-radius: var(--cr-xs);
    border: 1px solid #7695C3
}


input:disabled {
    /* background-color: #D2DCEC; */
    border: none;
}

.rrm-app {
    display: grid;
    grid-template-areas: 
    'header header'
    'nav content'
    'nav content';

    grid-template-rows: 42px auto;
    grid-template-columns: 280px auto;
    color: var(--font-primary-color);
}

.rrm-single-line {
    white-space: nowrap;
}

.rrm-main-header {
    grid-area: header;
    display: flex;
    gap: var(--gap-md);
    justify-content: start;
    align-items: center;
    padding: 0 var(--p-sm);
    background-color: var(--rrm-light-theme-primary-color-6);
    color: white;
    font-weight: bold;
}

.rrm-main-header-button {
    font-size: var(--font-sm);
    cursor: pointer;
}

.rrm-main-header-button:hover {
    color: white;
}

.rrm-nav-header {
    display: flex;
    gap: var(--gap-md);
    justify-content: start;
    align-items: center;
    height: 40px;
    padding: 0 var(--p-lg);
    text-align: center;
    font-weight: bold;
}

.rrm-main-nav {
    grid-area: nav;
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    /* background-color: #E5EAF4; */
    /* border-right: 1px solid var(--section-border-color); */
    font-size: 16px;
}

.rrm-menu-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--p-md) var(--p-lg);
}

.rrm-menu-container a, 
.rrm-menu-container span {
    font-size: var(--font-lg);
    width: 100%;
    display: flex;
    align-items: center;
}

.rrm-menu-sub a {
    padding: var(--p-sm);
}
.rrm-menu-sub a:hover {
    text-decoration: none;
    color: var(--font-primary-color);
}

.rrm-menu-top span {
    padding: var(--p-xs);
    font-weight: bold;
}

.rrm-menu-container .rrm-menu {
    border-radius: var(--cr-xs);
}

.rrm-menu-container .rrm-menu-sub {
    display: flex;
    justify-content: space-between;
}

.rrm-menu-container .rrm-menu-sub > a {
    font-size: var(--font-md);
    margin-left: 24px;
}
.rrm-menu-container a:hover {
    text-decoration: none;
}
.rrm-menu-container .rrm-menu:hover, 
.rrm-menu-container > a:hover {
    background: var(--rrm-light-theme-primary-color-1);
}

.rrm-menu-container div.rrm-menu[data-selected], 
.rrm-menu-container > a[data-selected] {
    background-color: var(--primary-th-color);
}

.rrm-menu-container .rrm-menu {
    /* display: flex;
    justify-content: space-between; */
    cursor:pointer
}

.rrm-menu-container .rrm-menu-top {
    display: flex;
    align-items: center;
}

.rrm-menu-items-container[data-expanded=false] {
    display: none
}

.rrm-menu-top svg {
    width: 16px;
    height: 16px;
    color: var(--rrm-light-theme-primary-color-4);
}
.rrm-menu-top[data-expanded=false] svg {
    transform: rotate(-90deg);
}
.rrm-menu-sub .rrm-icon-button {
    padding: 2px;
    margin: 6px;
    color: var(--rrm-light-theme-primary-color-4)
}

.rrm-main-content {
    grid-area: content;
    background-color: var(--primary-bg-color);
}

.rrm-main-content span.enum {
    /* display: block; */
    background-color: var(--rrm-light-theme-primary-color-3);
    border-radius: var(--cr-xs);
    padding: 4px;
}

.rrm-nav-footer {
    display: flex;
    margin-top: auto;
    border-top: 1px solid var(--rrm-light-theme-primary-color-3);
    justify-content: center;
}

.rrm-nav-footer > a {
    font-size: var(--font-lg);
    padding: var(--p-sm);
    border-radius: var(--p-sm);
}

.rrm-data-btn-group {
    display: flex;
    gap: 4px;
    align-items: center;
}

.rrm-data-btn-group button {
    /* min-width: 0px !important; */
    display: flex;
    align-items: center;
}

.rrm-data-layout h1 {
    margin-bottom: 20px;
}

.rrm-data-layout-nav {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    padding: 0 var(--p-sm);
    height: 40px;
    background-color: var(--rrm-light-theme-primary-color-2);
    /* border-bottom: #fff solid 1px; */
    color: var(--font-primary-color);
}
.rrm-data-layout-nav > a {
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    padding: 0 var(--p-xs);
}
.rrm-data-layout-nav > a[data-tab-active="true"] {
    border-bottom: 2px solid var(--rrm-light-theme-primary-color-6);
}

/* Content 컨테이너 */
.rrm-data-layout-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    padding: var(--p-lg) var(--p-xl);
}

.rrm-data-layout-container .search-input {
    margin: 0 auto;
}

.rrm-data-layout-container form img.thumbnail {
    object-fit: contain;
    width: auto;
    max-width: 150px;
    min-width: 120px;
    height: 100%;
}

.rrm-data-list {
    /* border: var(--primary-th-color) solid 1px; */
    border-radius: var(--cr-sm);
    border-style: hidden;
    box-shadow: 0 0 0 1px var(--primary-th-color);
}
.rrm-data-list tr:first-child th:first-child {
    border-top-left-radius: var(--cr-sm);
}
.rrm-data-list tr:first th:last-child {
    border-top-right-radius: var(--cr-sm);
}
.rrm-data-list tr:last-child td:first-child {
    border-bottom-left-radius: var(--cr-sm);
}
.rrm-data-list tr:last-child td:last-child {
    border-bottom-right-radius: var(--cr-sm);
}
.rrm-data-list {
    width: 100%;
    border-collapse: collapse;
}
.rrm-data-list tr th,
.rrm-data-list tr td {
    padding: 6px 6px;
    /* border: 1px solid #F2F5FA; */
    border: none;
}
.rrm-data-list tr th {
    background-color: var(--primary-th-color);
    text-align: center;
}
.rrm-data-list tr td {
    text-align: center;
    font-size: 1rem;
}

.rrm-data-list tr.rrm-data-row:nth-child(odd) { 
    background-color: #fff; 
    padding: var(--p-lg);
}
.rrm-data-list tr.rrm-data-row:hover {
    background: #0088ff40;
}

.rrm-data-list tr.rrm-data-row img {
    height: 19.5px;
}

.rrm-data-list tr.rrm-data-row .thumbnail {
    position: relative;
    cursor: pointer;
}
.rrm-data-list tr.rrm-data-row .thumbnail img {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    height: 280px;
    box-shadow: 0 4px 8px var(--primary-th-color);
    z-index: 10;
}

.rrm-data-list tr.rrm-data-row .thumbnail:hover img {
    display: block;
}

.rrm-data-list tr.rrm-data-row td.tags {
    display: flex;
    flex-wrap: wrap;
}
.rrm-data-list tr.rrm-data-row td.tags span.enum {
    margin: 4px;
    background-color: var(--rrm-light-theme-primary-color-5);
    border-radius: var(--cr-sm);
    color: #fff;
    font-size: var(--font-sm);
}

.rrm-data-detail {
    /* table-layout: fixed; */
    width: 100%;
    border-collapse: collapse;
}
.rrm-data-detail td {
    padding: 4px 6px;
    border: 1px solid #F2F5FA;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rrm-data-detail td:first-child {
    background-color: #E5EAF4;
    text-align: right;
}
.rrm-data-detail td:last-child {
    background-color: #F2F5FA;
}

.rrm-report-container {
    position:relative;
    height:574px;
    background: #f0f0f0;
}

.rrm-preview-container {
    position:relative;
    height:574px;
    background: #f0f0f0;
    overflow: auto;
}

/* Data Template */

.rrm-data-builder {
    display: flex;
    flex-direction: column;
    /* gap: var(--gap-xs); */
    width: 100%;
}

.rrm-data-builder-fields-body,
.rrm-data-builder-sample-data-body,
.rrm-datalink-table-wrapper > div:nth-child(2),
.rrm-data-builder-datalink-body {
    flex-grow: 1;
}

.rrm-data-builder-datalink-body > rrm-data-link-builder {
    flex-grow: 1;
}

.rrm-data-builder-body {
    flex-grow: 1;
    /* border-top: 1px solid var(--rrm-light-theme-primary-color-4); */
    /* border: 1px solid var(--rrm-light-theme-primary-color-4);
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px; */
}

table.rrm-sample-data-table input:focus {
    border-radius: unset;
    border: 1px solid var(--rrm-light-theme-primary-color-3);
    padding: 0 0 0 6px;
}

.rrm-data-builder-header {
    background-color: var(--rrm-light-theme-primary-color-2);
    border-top-left-radius: var(--cr-sm);
    border-top-right-radius: var(--cr-sm);
}

.rrm-data-builder-header > div.rrm-data-builder-tab-group > button {
    border-radius: 0;
    background-color: transparent;
    color: black;
    width: 120px;
    /* border-top: 1px solid var(--rrm-light-theme-primary-color-4);
    border-right: 1px solid var(--rrm-light-theme-primary-color-4); */
}

.rrm-sample-data-header-cell > p {
    text-align: left;
}

.rrm-data-builder-header > div.rrm-data-builder-tab-group > button[data-active="true"] {
    /* background-color: var(--primary-active); */
    /* color: white; */
    border-bottom: 3px solid var(--primary-active);
    color: var(--primary-active);
    font-weight: 700;
}

.rrm-data-builder-tab-opener {
    padding: 8px 20px;
}

.rrm-data-builder-tab-opener:hover {
    opacity: 1;
}

.rrm-data-builder-fields-body {
    flex-direction: column;
    align-items: start;
}

.rrm-data-field-builder {
    display: flex;
    gap: var(--gap-md);
}

.rrm-data-field-builder-input-groups {
    display: flex;
    gap: var(--gap-xs);
}

.rrm-data-field-remove {
}

.rrm-data-builder-field-table {
    width: 100%;
}

.rrm-data-builder-field-table th {
    font-size: 0.9em;
}

.rrm-data-builder-row {
    background-color: white;
}

.rrm-data-builder-row:nth-child(even) {
    background-color: var(--primary-bg-color);
}

.rrm-data-builder-drag-handle {
    cursor: grab;
    user-select: none;
}

.rrm-data-builder-drag-handle:active {
    cursor: grabbing;
}

.rrm-band-data-builder-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--gap-xs);
}

.rrm-appender {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 3px;
}

.rrm-appender > p {
    display: block;
    width: 100%;
    font-size: var(--font-xl);
    font-weight: bold;
    margin: 5px auto;
    color: black;
    text-align: center;
    /* border-radius: var(--cr-xs); */
    border-top: 1px solid var(--primary-th-color)
}

.rrm-appender > p:hover {
    background-color: var(--rrm-light-theme-primary-color-2);
}

.rrm-band-data-builder {
    border-collapse: collapse;
    border-radius: var(--cr-sm);
    border-style: hidden;
    box-shadow: 0 0 0 1px var(--primary-th-color);
}

.rrm-band-data-builder-panel-title {
    font-size: var(--font-xl);
    width: 100%;
    text-align: left;
}

.rrm-band-data-builder-panel-root {
    padding: var(--p-lg);
    flex-direction: column;
    gap: var(--gap-lg);
}

.rrm-band-data-builder-panel-body {
    /* padding: var(--p-md); */
    width: 100%;
    flex-direction: column;
    gap: var(--gap-md);
}

.rrm-band-data-builder-panel-footer {
    display: flex;
    /* padding: var(--p-md); */
    gap: var(--gap-sm);
    justify-content: end;
    width: 100%;
}

.rrm-band-data-input-wrapper {
    width: 100%;
    display: flex;
    gap: var(--gap-xs);
}

.rrm-band-data-input-wrapper label {
    width: 90px;
    flex-shrink: 0;
}
.rrm-band-data-input-wrapper label::after {
    content: ":";
}

.rrm-band-data-input-wrapper-lg > input,
.rrm-band-data-input-wrapper-lg > textarea {
    width: 100%;
}

.rrm-band-data-input-wrapper > * {
    display: block;
}

.rrm-data-builder-btn-cell-header {
    width: 82px;
}

.rrm-band-data-builder-panel label {
    text-align: left;
}

tr.rrm-data-builder-virtual-row > td {
    padding: 0;
}

.rrm-data-builder-drag-handle-header {
    width: 32px;
}

.rrm-sample-data-cell {
    margin: 0 !important;
    padding: 0 !important;
    height: 35px;
}

.rrm-sample-data-input {
    width: 100%;
    height: 100%;
    border: none;
    padding: 1px 4px;
}

.rrm-data-builder-sample-data-body > div {
    flex-grow: 1;
}

tr.rrm-sample-data-row:nth-child(even) input {
    background-color: var(--primary-bg-color);
}
tr.rrm-sample-data-row:nth-child(even) td.rrm-sample-data-btn-group {
    background-color: var(--primary-bg-color);
}

.rrm-sample-data-appender-wrapper {
    border-left: 1px solid var(--table-border-color);
    border-right: 1px solid var(--table-border-color);
    /* border-bottom: 1px solid var(--table-border-color); */
}

.rrm-sample-data-btn-group {
    width: 50px;
    background-color: #fff;
}

.rrm-icon-button {
    background-color: transparent;
    color: black;
    border: none;
    cursor: pointer;
    padding: 4px;
}

.rrm-icon-button:hover {
    opacity: 0.8;
    background-color: var(--rrm-light-theme-primary-color-2);
}

.rrm-icon-button > svg {
    pointer-events: none;
    width: 20px;
    height: 20px;
}

.rrm-button-group {
    display: flex;
}

.rrm-button-group button {
    min-width: 24px;
}

.rrm-sample-data-table thead {
    position: sticky;
    left: 0;
    top: 0;
    z-index: 1;
}

.rrm-sample-data-table-wrapper {
    max-height: 400px;
    overflow-y: scroll;
    flex-grow: 1;
}

.rrm-sample-count {
    padding: var(--p-md);
    display: flex;
    gap: var(--gap-sm);
    margin-left: auto;
    justify-content: end;
    font-size: var(--font-lg);
    font-weight: 700;
    /* border-top: 1px solid var(--rrm-light-theme-primary-color-4); */
}

.rrm-datalink-table-wrapper {
    align-items: start !important;
}

.rrm-datalink-table-wrapper > div:nth-child(2) {
    flex-grow: 1;
}

.rrm-datalink-input-wrapper > input
.rrm-datalink-input-wrapper > select,
.rrm-datalink-input-wrapper > div.rrm-checkbox-wrapper {
    display: block;
    width: 400px;
}

.rrm-datalink-input-wrapper > p.rrm-text:last-child {
    padding-left: var(--p-sm);
}

.rrm-datalink-table td {
    margin: 0 !important;
    padding: 0 !important;
    height: 35px;
}

.rrm-datalink-table input,
.rrm-datalink-table select {
    width: 100%;
    height: 100%;
    border: none;
    padding: 1px 4px;
}
.rrm-datalink-table select {
    width: 90%;
    height: 75%;
    border: 1px solid var(--table-border-color);
}

.rrm-datalink-input-wrapper .rrm-datalink-param-row input[type=text] {
    width: 90%;
}

.rrm-datalink-appender-wrapper {
    border-left: 1px solid var(--table-border-color);
    border-right: 1px solid var(--table-border-color);
    border-bottom: 1px solid var(--table-border-color);
}

.rrm-datalink-input-wrapper {
    display: flex;
    gap: var(--gap-xs);
    align-items: center;
}

.rrm-datalink-input-wrapper > label {
    width: 120px;
    text-align: right;
}

.rrm-datalink-body {
    padding: var(--p-lg);
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    /* border-bottom: 1px solid var(--primary-th-color); */
}

.rrm-datalink-input-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
}

.rrm-datalink-input-wrapper input[type=text] {
    width: var(--input-width-lg);
}

.rrm-data-layout-container > form,
.rrm-basic-info-container > form {
    display: flex;
    flex-direction: column;
}

.rrm-basic-info-container > form select {
    background-color: var(--rrm-light-theme-primary-color-3);
    border: none;
}

.rrm-basic-info-container > form textarea {
    color: var(--font-secondary-color);
}

.rrm-data-layout-container > form > button,
.rrm-data-layout-container > form > button[type=submit] {
    min-width: 80px;
    margin-right: auto;
}

.rrm-data-layout-container form .search-box {
    display: flex; 
    align-items: 
    center;margin-bottom: 10px;
}

.rrm-data-layout-container form .search-box > button {
    margin: 0;
}

.rrm-form-div > *:not(button, label) {
    margin-bottom: 12px;
}

.rrm-basic-info-bar {
    display: flex; 
    gap: 8px; 
    align-items: center;
}

.rrm-basic-info-bar > form input {
    width: auto;
    min-width: 100px;
    color: var(--font-secondary-color);
    text-align: center;
}


.rrm-basic-info-bar > form label {
    color: var(--font-secondary-color);
    font-weight: 600;
}

.rrm-basic-info-bar-item:last-child, 
.rrm-basic-info-bar-item:last-child textarea {
    height: 100%;
}

.rrm-basic-info-bar-item {
    display: flex;
    flex-direction: column;
}
.rrm-basic-info-bar-item label,
.rrm-search-container-option label,
.rrm-schema-generator-body-item label {
    font-size: 0.8rem;
    color: var(--rrm-light-theme-primary-color-4);
    padding-bottom: 2px;
}
.rrm-basic-info-bar-item span {
    display: block;
    padding: 4px 0;
}
.rrm-basic-info-bar-item span.bold {
    font-size: var(--font-lg);
    font-weight: bold;
}

.rrm-basic-info-bar form .separator {
    height: 100%;
}

.rrm-search-container-filter {
    display: flex;
    gap: 4px;
    margin-bottom: 0;
    /* flex-direction: column; */
}

.rrm-search-container-filter select {
    /* border: solid 2px var(--rrm-light-theme-primary-color-3); */
    /* border-radius: var(--cr-sm); */
    border: none;
    /* width: auto; */
    background-color: transparent;
    height: 29.5px;
    text-align: right;
    cursor: pointer;
}

.rrm-search-container-option {
    cursor: pointer;
    /* margin: 0; */
    /* font-family: Arial, Helvetica, sans-serif; */
    /* font-size: 0.875rem; */
    /* font-weight: 400; */
    /* padding: 6px; */
}

.rrm-search-container-option .option {
    display: flex;
    gap: 5px;
    align-items: center;
}

.rrm-search-container-option .expand {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
    padding: 0;
    cursor: pointer;
    background-color: transparent;
    /* color: var(--rrm-light-theme-primary-color-4); */
}
.rrm-search-container-option .options[data-expanded='false'] {
    display: none;
}
.rrm-search-container-option svg.icon-expand {
    width: 12px;
    height: 12px;
    color: slategray;
    /* color: var(--primary-btn-color);  */
}

.rrm-search-container-option .option:not(:last-child) {
    padding-bottom: 4px;
}

.rrm-search-container-option label:first-child {
    text-align: right;
    width: 60px;
}

.rrm-search-container-option button[type=submit] {
    font-size: var(--font-sm);
    background-color: var(--rrm-light-theme-primary-color-4);
}

.rrm-archive-content-trigger {
    display: flex;
    align-items: center;
}

.rrm-archive-param-placeholder {
    color: #b7b7b7;
}

.rrm-archive-content-trigger button.rrm-archive-param-toggle {
    background-color: white;
    padding: 4px;
    color: black;
    border: 1px solid black;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid rgb(212, 212, 212);
}

.rrm-archive-content-trigger button.rrm-archive-param-toggle svg {
    width: 14px;
    height: 16px;
}

.rrm-archive-content-popover {
    position: absolute;
    left: 100px;
    top: 30px;
    padding: 8px 16px;
    background-color: white;
    border: 1px solid rgb(212, 212, 212);
}

.rrm-json-view {
    max-width: 400px;
}

.rrm-schema-generator {

}

.rrm-schema-generator .rrm-schema-generator-header {

}

.rrm-schema-generator-tabs button[type=button] {
    width: 120px;
    background-color: var(--rrm-light-theme-primary-color-3);
    color: var(--font-primary-color);
}

.rrm-schema-generator-tabs button[type=button][data-active] {
    background-color: var(--rrm-light-theme-primary-color-4);
    color: #fff;
    border-radius: var(--cr-sm) var(--cr-sm) 0 0;
}
.rrm-schema-generator .rrm-schema-generator-body {
    border: 1px solid var(--rrm-light-theme-primary-color-3);
    border-radius: 0 0 var(--cr-sm) var(--cr-sm);
    padding: 0 var(--p-md) var(--p-md);
}
.rrm-schema-generator .rrm-schema-generator-body p {
    color: var(--font-secondary-color);
}
.rrm-schema-generator .rrm-schema-generator-body p.tip {
    color: var(--rrm-light-theme-primary-color-4);
}

.rrm-schema-generator .rrm-schema-generator-body .rrm-schema-generator-body-item span.code {
    margin: 0px 2px;
    padding: 1px 6px;
    background: var(--rrm-light-theme-primary-color-2);
    border: 1px solid var(--rrm-light-theme-primary-color-3);
    border-radius: var(--cr-sm);
 }

.rrm-schema-generator .rrm-schema-generator-body .rrm-schema-generator-body-item {
    display: none;
}

.rrm-schema-generator .rrm-schema-generator-body .rrm-schema-generator-body-item .form {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.rrm-schema-generator .rrm-schema-generator-body .rrm-schema-generator-body-item[data-active] {
    display: block;
}

.rrm-sample-table-row {
    background-color: white;
}

.rrm-sample-table-row:nth-child(even) {
    background-color: var(--primary-bg-color);
}

/* Commons */

.rrm-invisible-table {
    display: none;
}

.rrm-flex-container {
    display: flex;
    align-items: center;
}

.rrm-form-footer {
    padding-top: var(--p-lg);
}

.rrm-text {
    margin: 0;
}

.rrm-hide {
    display: none !important;
}

.w-xs {
    width: var(--input-width-xs);
}
.w-sm {
    width: var(--input-width-sm);
}
.w-md {
    width: var(--input-width-md);
}
.w-lg {
    width: var(--input-width-lg);
}

.rrm-icon {
    display: block;
}

.empty-icon {
    display: none;
}

.rrm-archive-update .json-key {
    margin-left: 0 !important;
}

.rrm-spacer {
    flex-grow: 1;
}

.ta-left {
    text-align: left !important;
}
.ta-center {
    text-align: center !important;
}
.ta-righjt {
    text-align: right !important;
}

.font-xs {
    font-size: var(--font-xs);
}
.font-sm {
    font-size: var(--font-sm);
}
.font-md {
    font-size: var(--font-md);
}
.font-lg {
    font-size: var(--font-lg);
}
.font-xl {
    font-size: var(--font-xl);
}

.font-primary-color {
    color: var(--font-primary-color);
}
.font-secondary-color {
    color: var(--font-secondary-color);
}

.search-input {
    width: 300px;
    padding-left:42px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M21 21L16.65 16.65M19 11C19 15.4183 15.4183 19 11 19C6.58172 19 3 15.4183 3 11C3 6.58172 6.58172 3 11 3C15.4183 3 19 6.58172 19 11Z" stroke="%231E1E1E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat: no-repeat;
    background-size: 20px  20px;
    background-position: 10px 4px;
    border-radius: var(--cr-xs);
}
.search-input:focus {
    padding-left:42px;
}


[data-tip] {
	position:relative;
}
[data-tip]:before {
	content:'';
	/* hides the tooltip when not hovered */
	display:none;
	content:'';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid var(--rrm-light-theme-primary-color-5);	
	position:absolute;
	top:30px;
	left:20px;
	z-index:998;
	font-size:0;
	line-height:0;
	width:0;
	height:0;
}
[data-tip]:after {
	display:none;
	content:attr(data-tip);
	position:absolute;
	top:35px;
	left:0px;
    min-width: 120px;
    max-width: 360px;
    margin: 0 10px;
	padding:5px 8px;
	background:var(--rrm-light-theme-primary-color-5);
	color:#fff;
	z-index:999;
	font-size: 0.75em;
    text-align: left;
	min-height:18px;
	line-height:18px;
	-webkit-border-radius: var(--cr-xs);
	-moz-border-radius: var(--cr-xs);
	border-radius: var(--cr-xs);
	white-space:normal;
    overflow-wrap:normal;
}
[data-tip]:hover:before,
[data-tip]:hover:after {
	display:block;
}

.rrm-auth-layout {
    height: 100%;
    display: grid;
    grid-template-areas:
        'header'
        'content';
    grid-template-rows: 42px auto;
}

.rrm-auth-content {
    grid-area: content;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rrm-auth-container {
    max-width: 300px;
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-bottom: 140px;
}

.rrm-auth-title {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 0;
}

.rrm-auth-desc {
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: hsl(0 0% 45.1%);
    margin-top: 8px;
}

.rrm-auth-input-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rrm-auth-input {
    height: 36px;
    padding: 0.25rem 0.75rem;
}

.rrm-auth-user-id {
    display: block;
}

.rrm-auth-password {
    display: block;
}

.rrm-auth-sign-in {
    padding-top: 9px;
    padding-bottom: 9px;
}

.rrm-logo {
    display: flex;
    align-items: center;
    gap: 3px;
}

.rrm-logo svg {
    width: 20px;
    height: 20px;
}

.rrm-logo h3 {
    font-size: 16px;
    font-weight: 400;
}

.rrm-muted-form {
    margin: 0;
}

.rrm-log-table {
    display: block;
    max-height: 600px;
    overflow: auto;
}

.rrm-log-table td, .rrm-log-table th {
    text-align: left !important;
}

.rrm-log-table td:last-child, .rrm-log-table th:last-child{
    text-align: right !important;
}

.rrm-log-table thead tr {
    position: sticky;
    z-index: 1;
    left: 0;
    top: 0;
}

.rrm-log-table tbody td {
    font-size: var(--font-sm);
    vertical-align: top;
}

.rrm-log-table tbody textarea {
    border: none;
    background-color: transparent;
    resize: none;
    width: 100%;
    font-size: var(--font-sm);
}

.rrm-log-msg {
    position: relative;
}

.rrm-not-activated {
    background: red !important;
    color: white !important;
}