/*!
 * OverlayScrollbars
 * https://github.com/KingSora/OverlayScrollbars
 *
 * Version: 1.13.0
 *
 * Copyright KingSora | Rene Haas.
 * https://github.com/KingSora
 *
 * Released under the MIT license.
 * Date: 02.08.2020
 */

/*
OVERLAY SCROLLBARS CORE:
*/

html.os-html,
html.os-html > .os-host {
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    height: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    position: absolute !important; /* could be position: fixed; but it causes issues on iOS (-webkit-overflow-scrolling: touch) */
}
html.os-html > .os-host > .os-padding {
    position: absolute; /* could be position: fixed; but it causes issues on iOS (-webkit-overflow-scrolling: touch) */
}
body.os-dragging,
body.os-dragging * {
    cursor: default;
}
.os-host,
.os-host-textarea {
    position: relative;
    overflow: visible !important;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
                -ms-grid-row-align: flex-start;
            align-items: flex-start;
}
.os-host-flexbox {
    overflow: hidden !important;
    display: flex;
}
.os-host-flexbox > .os-size-auto-observer {
    height: inherit !important;
}
.os-host-flexbox > .os-content-glue {
    flex-grow: 1;
    flex-shrink: 0;
}
.os-host-flexbox > .os-size-auto-observer,
.os-host-flexbox > .os-content-glue {
    min-height: 0;
    min-width: 0;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
}
#os-dummy-scrollbar-size {
    position: fixed;
    opacity: 0;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
    visibility: hidden;
    overflow: scroll;
    height: 500px;
    width: 500px;
}
#os-dummy-scrollbar-size > div {
    width: 200%;
    height: 200%; 
    margin: 10px 0;
}
/* fix restricted measuring */
#os-dummy-scrollbar-size:before,
#os-dummy-scrollbar-size:after,
.os-content:before,
.os-content:after {
    content: '';
    display: table;
    width: 0.01px;
    height: 0.01px;
    line-height: 0;
    font-size: 0;
    flex-grow: 0;
    flex-shrink: 0;
    visibility: hidden;
}
#os-dummy-scrollbar-size,
.os-viewport {
    -ms-overflow-style: scrollbar !important;
}
.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size,
.os-viewport-native-scrollbars-invisible.os-viewport {
    scrollbar-width: none !important;
}
.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar,
.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar,
.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner,
.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner {
    display: none !important;
    width: 0px !important;
    height: 0px !important;
    visibility: hidden !important;
    background: transparent !important;
}
.os-content-glue {
    box-sizing: inherit;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    pointer-events: none;
}
.os-padding {
    box-sizing: inherit;
    direction: inherit;
    position: absolute;
    overflow: visible;
    padding: 0;
    margin: 0;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: auto !important;
    height: auto !important;
	z-index: 0;
}
.os-host-overflow > .os-padding {
    overflow: hidden;
}
.os-viewport {
    direction: inherit !important;
    box-sizing: inherit !important;
    resize: none !important;
    outline: none !important;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0;
    margin: 0;
    -webkit-overflow-scrolling: touch;
}
.os-content-arrange {
    position: absolute;
    z-index: -1;
    min-height: 1px;
    min-width: 1px;
    pointer-events: none;
}
.os-content {
    direction: inherit;
    box-sizing: border-box !important;
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
    visibility: visible;
}
.os-content > .os-textarea {
    box-sizing: border-box !important;
    direction: inherit !important;
    background: transparent !important;
    outline: 0px none transparent !important;
    overflow: hidden !important;
    position: absolute !important;
    display: block !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    border-radius: 0px !important;
    float: none !important;
    filter: none !important;
    border: none !important;
    resize: none !important;
    transform: none !important;
    max-width: none !important;
    max-height: none !important;
    box-shadow: none !important;
    perspective: none !important;
    opacity: 1 !important;
    z-index: 1 !important;
    clip: auto !important;
    vertical-align: baseline !important;
    padding: 0px;
}
.os-host-rtl > .os-padding > .os-viewport > .os-content > .os-textarea {
    right: 0 !important;
}
.os-content > .os-textarea-cover {
    z-index: -1;
    pointer-events: none;
}
.os-content > .os-textarea[wrap='off'] {
    white-space: pre !important;
    margin: 0px !important;
}
.os-text-inherit {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    font-variant: inherit;
    text-transform: inherit;
    text-decoration: inherit;
    text-indent: inherit;
    text-align: inherit;
    text-shadow: inherit;
    text-overflow: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
    line-height: inherit;
    unicode-bidi: inherit;
    direction: inherit;
    color: inherit;
    cursor: text;
}
.os-resize-observer,
.os-resize-observer-host {
    box-sizing: inherit;
    display: block;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: -1;
}
.os-resize-observer-host {
    padding: inherit;
    border: inherit;
    border-color: transparent;
    border-style: solid;
    box-sizing: border-box;
}
.os-resize-observer-host.observed {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.os-resize-observer-host > .os-resize-observer,
.os-resize-observer-host.observed > .os-resize-observer {
    height: 200%;
    width: 200%;
    padding: inherit;
    border: inherit;
    margin: 0;
    display: block;
    box-sizing: content-box;
}
.os-resize-observer-host.observed > .os-resize-observer,
.os-resize-observer-host.observed > .os-resize-observer:before {
    display: flex;
    position: relative;
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: auto;
    box-sizing: border-box;
}
.os-resize-observer-host.observed > .os-resize-observer:before {
    content: '';
    box-sizing: content-box;
    padding: inherit;
    border: inherit;
    margin: 0;
}
.os-size-auto-observer {
    box-sizing: inherit !important;
    height: 100%;
    width: inherit;
    max-width: 1px;
    position: relative;
    float: left;
    max-height: 1px;
    overflow: hidden;
    z-index: -1;
    padding: 0;
    margin: 0;
    pointer-events: none;
    flex-grow: inherit;
    flex-shrink: 0;
    flex-basis: 0;
}
.os-size-auto-observer > .os-resize-observer {
    width: 1000%;
    height: 1000%;
    min-height: 1px;
    min-width: 1px;
}
.os-resize-observer-item {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
    opacity: 0;
    direction: ltr !important;
    flex: none !important;
}
.os-resize-observer-item-final {
    position: absolute;
    left: 0;
    top: 0;
    transition: none !important;
    flex: none !important;
}
.os-resize-observer {
    animation-duration: 0.001s;
    animation-name: os-resize-observer-dummy-animation;
}
object.os-resize-observer {
    box-sizing: border-box !important;
}
@keyframes os-resize-observer-dummy-animation {
    from {
		cursor: auto;
	}
	to {
		cursor: none;
	}
}

/*
CUSTOM SCROLLBARS AND CORNER CORE:
*/

.os-host-transition > .os-scrollbar,
.os-host-transition > .os-scrollbar-corner {
    transition: opacity 0.3s, visibility 0.3s, top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;
}
html.os-html > .os-host > .os-scrollbar {
    position: absolute; /* could be position: fixed; but it causes issues on iOS (-webkit-overflow-scrolling: touch) */
    z-index: 999999; /* highest z-index of the page */
}
.os-scrollbar,
.os-scrollbar-corner {
    position: absolute;
    opacity: 1;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    z-index: 1;
}
.os-scrollbar-corner {
    bottom: 0;
    right: 0;
}
.os-scrollbar {
    pointer-events: none;
}
.os-scrollbar-track {
    pointer-events: auto;
    position: relative;
    height: 100%;
    width: 100%;
    padding: 0 !important;
    border: none !important;
}
.os-scrollbar-handle {
    pointer-events: auto;
    position: absolute;
    width: 100%;
    height: 100%;
}
.os-scrollbar-handle-off,
.os-scrollbar-track-off {
    pointer-events: none;
}
.os-scrollbar.os-scrollbar-unusable,
.os-scrollbar.os-scrollbar-unusable * {
    pointer-events: none !important;
}
.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle {
    opacity: 0 !important;
}
.os-scrollbar-horizontal {
    bottom: 0;
    left: 0;
}
.os-scrollbar-vertical {
    top: 0;
    right: 0;
}
.os-host-rtl > .os-scrollbar-horizontal {
    right: 0;
}
.os-host-rtl > .os-scrollbar-vertical {
    right: auto;
    left: 0;
}
.os-host-rtl > .os-scrollbar-corner {
    right: auto;
    left: 0;
}
.os-scrollbar-auto-hidden,
.os-padding + .os-scrollbar-corner,
.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden > .os-scrollbar-corner,
.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal,
.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-corner,
.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical,
.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical + .os-scrollbar-corner,
.os-scrollbar-horizontal + .os-scrollbar-vertical.os-scrollbar-auto-hidden + .os-scrollbar-corner,
.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical.os-scrollbar-auto-hidden + .os-scrollbar-corner {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.os-scrollbar-corner-resize-both {
    cursor: nwse-resize;
}
.os-host-rtl > .os-scrollbar-corner-resize-both {
    cursor: nesw-resize;
}
.os-scrollbar-corner-resize-horizontal {
    cursor: ew-resize;
}
.os-scrollbar-corner-resize-vertical {
    cursor: ns-resize;
}
.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize {
    cursor: default;
}
.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden > .os-scrollbar-vertical {
    top: 0;
    bottom: 0;
}
.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-horizontal,
.os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-horizontal {
    right: 0;
    left: 0;
}
.os-scrollbar:hover,
.os-scrollbar-corner.os-scrollbar-corner-resize {
    opacity: 1 !important;
    visibility: visible !important;
}
.os-scrollbar-corner.os-scrollbar-corner-resize {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB3aWR0aD0iMTAiICAgaGVpZ2h0PSIxMCIgICB2ZXJzaW9uPSIxLjEiPiAgPGcgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwNDIuMzYyMikiICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eTowLjQ5NDExNzY1O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDcuNDI0MjE4NywxMDQyLjM2MjIgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjYgLTEuMzEwMTU2MiwxLjMxMDIgMCwwLjI5OSAwLjEwNDM0MTksMC41NzEgMC4yNzI5NDkyLDAuNzkxNSAwLjIwOTEwMjQsMC4xNDEzIDAuNDY1NjIwNiwwLjIxODQgMC43MzY5NjI5LDAuMjE4NCAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NiAxLjMxMDE1NjMsLTEuMzEwMiAwLC0wLjI3MTMgLTAuMDc3MDkzLC0wLjUyNzggLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0MSwtMC4xNjg2IC0wLjQ5MjU0NDMsLTAuMjcyOSAtMC43OTE1NTI4LC0wLjI3MjkgeiBtIDAsMy4wODQzIGMgLTAuNzIzNTc5MiwwIC0xLjMxMDE1NjIsMC41ODY2IC0xLjMxMDE1NjIsMS4zMTAyIDAsMC4yOTkgMC4xMDQzNDE5LDAuNTcxIDAuMjcyOTQ5MiwwLjc5MTUgMC4yMDkxMDI0LDAuMTQxMyAwLjQ2NTYyMDYsMC4yMTg0IDAuNzM2OTYyOSwwLjIxODQgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjYgMS4zMTAxNTYzLC0xLjMxMDIgMCwtMC4yNzEzIC0wLjA3NzA5MywtMC41Mjc4IC0wLjIxODM1OTQsLTAuNzM2OSAtMC4yMjA0OTQxLC0wLjE2ODYgLTAuNDkyNTQ0MywtMC4yNzMgLTAuNzkxNTUyOCwtMC4yNzMgeiBtIC0zLjA4NDMyNjEsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NiAtMS4zMTAxNTYzLDEuMzEwMiAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MSAwLjI3Mjk0OTIsMC43OTE1IDAuMjA5MTAyNCwwLjE0MTMgMC40NjU2MjA3LDAuMjE4NCAwLjczNjk2MjksMC4yMTg0IDAuNzIzNTc5MywwIDEuMzEwMTU2MywtMC41ODY2IDEuMzEwMTU2MywtMS4zMTAyIDAsLTAuMjcxMyAtMC4wNzcwOTMsLTAuNTI3OCAtMC4yMTgzNTk0LC0wLjczNjkgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzMgLTAuNzkxNTUyNywtMC4yNzMgeiBtIC0zLjAyOTczNjQsMy4wMjk4IEMgMC41ODY1NzY5MywxMDQ4LjQ3NjMgMCwxMDQ5LjA2MjggMCwxMDQ5Ljc4NjQgYyAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyMiwwLjc5MTYgMC4yMDkxMDIyOSwwLjE0MTIgMC40NjU2MjA2NSwwLjIxODMgMC43MzY5NjI4OCwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHogbSAzLjAyOTczNjQsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NSAtMS4zMTAxNTYzLDEuMzEwMSAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyLDAuNzkxNiAwLjIwOTEwMjQsMC4xNDEyIDAuNDY1NjIwNywwLjIxODMgMC43MzY5NjI5LDAuMjE4MyAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NSAxLjMxMDE1NjMsLTEuMzEwMSAwLC0wLjI3MTQgLTAuMDc3MDkzLC0wLjUyNzkgLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzI5IC0wLjc5MTU1MjcsLTAuMjcyOSB6IG0gMy4wODQzMjYxLDAgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjUgLTEuMzEwMTU2MiwxLjMxMDEgMCwwLjI5OSAwLjEwNDM0MTksMC41NzExIDAuMjcyOTQ5MiwwLjc5MTYgMC4yMDkxMDI0LDAuMTQxMiAwLjQ2NTYyMDYsMC4yMTgzIDAuNzM2OTYyOSwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHoiLz4gIDwvZz4gIDxnICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDguMjE1NzcxNSwwLjI3Mjk0OTIyIGMgMC4xNDEyNjY3LDAuMjA5MTAyMjkgMC4yMTgzNTk0LDAuNDY1NjIwNjUgMC4yMTgzNTk0LDAuNzM2OTYyODggMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDc2IC0wLjIwNTUxNzYsLTAuNzk3Nzk2NTkgLTAuNTE4NjAzNSwtMS4wMzcyMDY5OCB6IG0gMCwzLjA4NDMyNjE4IGMgMC4xNDEyNjY3LDAuMjA5MTAyMyAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MiAtMS4zMTAxNTYzLDEuMzEwMTU2MiAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTkzIDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAtMy4wODQzMjYyLDAgYyAwLjE0MTI2NjcsMC4yMDkxMDIzIDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYyIC0xLjMxMDE1NjMsMS4zMTAxNTYyIC0wLjI3MTM0MjIsMCAtMC41Mjc4NjA1LC0wLjA3NzA5MyAtMC43MzY5NjI5LC0wLjIxODM1OTMgMC4yMzk0MTA0LDAuMzEzMDg1OSAwLjYxMjYzNjMsMC41MTg2MDM1IDEuMDM3MjA3MSwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYyLC0wLjU4NjU3NyAxLjMxMDE1NjIsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NSwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogTSAyLjEwMTcwOSw2LjM4NzAxMTcgYyAwLjE0MTI2NjcsMC4yMDkxMDI0IDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYzIC0xLjMxMDE1NjMsMS4zMTAxNTYzIC0wLjI3MTM0MjIzLDAgLTAuNTI3ODYwNTksLTAuMDc3MDkzIC0wLjczNjk2Mjg4LC0wLjIxODM1OTQgMC4yMzk0MTAzOSwwLjMxMzA4NTkgMC42MTI2MzYyMiwwLjUxODYwMzUgMS4wMzcyMDY5OCwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAzLjAyOTczNjMsMCBjIDAuMTQxMjY2NywwLjIwOTEwMjQgMC4yMTgzNTk0LDAuNDY1NjIwNiAwLjIxODM1OTQsMC43MzY5NjI5IDAsMC43MjM1NzkzIC0wLjU4NjU3NywxLjMxMDE1NjMgLTEuMzEwMTU2MywxLjMxMDE1NjMgLTAuMjcxMzQyMiwwIC0wLjUyNzg2MDUsLTAuMDc3MDkzIC0wLjczNjk2MjksLTAuMjE4MzU5NCAwLjIzOTQxMDQsMC4zMTMwODU5IDAuNjEyNjM2MywwLjUxODYwMzUgMS4wMzcyMDcxLDAuNTE4NjAzNSAwLjcyMzU3OTMsMCAxLjMxMDE1NjIsLTAuNTg2NTc3IDEuMzEwMTU2MiwtMS4zMTAxNTYzIDAsLTAuNDI0NTcwOCAtMC4yMDU1MTc1LC0wLjc5Nzc5NjYgLTAuNTE4NjAzNSwtMS4wMzcyMDcgeiBtIDMuMDg0MzI2MiwwIGMgMC4xNDEyNjY3LDAuMjA5MTAyNCAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHoiIC8+ICA8L2c+PC9zdmc+);
    background-repeat: no-repeat;
    background-position: 100% 100%;
    pointer-events: auto !important;
}
.os-host-rtl > .os-scrollbar-corner.os-scrollbar-corner-resize {
    transform: scale(-1, 1);
}
.os-host-overflow {
    overflow: hidden !important;
}
.os-host-overflow-x {
} 
.os-host-overflow-y {
} 

/*
THEMES:
*/

/* NONE THEME: */
.os-theme-none > .os-scrollbar-horizontal,
.os-theme-none > .os-scrollbar-vertical,
.os-theme-none > .os-scrollbar-corner {
    display: none !important;
}
.os-theme-none > .os-scrollbar-corner-resize {
    display: block !important;
    min-width: 10px;
    min-height: 10px;
}
/* DARK & LIGHT THEME: */
.os-theme-dark > .os-scrollbar-horizontal,
.os-theme-light > .os-scrollbar-horizontal {
    right: 10px;
    height: 10px;
}
.os-theme-dark > .os-scrollbar-vertical,
.os-theme-light > .os-scrollbar-vertical {
    bottom: 10px;
    width: 10px;
}
.os-theme-dark.os-host-rtl > .os-scrollbar-horizontal,
.os-theme-light.os-host-rtl > .os-scrollbar-horizontal {
    left: 10px;
    right: 0;
}
.os-theme-dark > .os-scrollbar-corner,
.os-theme-light > .os-scrollbar-corner {
    height: 10px;
    width: 10px;
    background-color: transparent;
}
.os-theme-dark > .os-scrollbar,
.os-theme-light > .os-scrollbar {
    padding: 2px;
    box-sizing: border-box;
    background: transparent;
}
.os-theme-dark > .os-scrollbar.os-scrollbar-unusable,
.os-theme-light > .os-scrollbar.os-scrollbar-unusable {
    background: transparent;
}
.os-theme-dark > .os-scrollbar > .os-scrollbar-track,
.os-theme-light > .os-scrollbar > .os-scrollbar-track {
    background: transparent;
}
.os-theme-dark > .os-scrollbar-horizontal > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light > .os-scrollbar-horizontal > .os-scrollbar-track > .os-scrollbar-handle {
    min-width: 30px;
}
.os-theme-dark > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle {
    min-height: 30px;
}
.os-theme-dark.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light.os-host-transition > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
    transition: background-color 0.3s;
}
.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,
.os-theme-dark > .os-scrollbar > .os-scrollbar-track,
.os-theme-light > .os-scrollbar > .os-scrollbar-track {
    border-radius: 10px;
}
.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
    background: rgba(0, 0, 0, 0.4);
}
.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
    background: rgba(255, 255, 255, 0.4);
}
.os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle {
    background: rgba(0, 0, 0, .55);
}
.os-theme-light > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle {
    background: rgba(255, 255, 255, .55);
}
.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active {
    background: rgba(0, 0, 0, .7);
}
.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active {
    background: rgba(255, 255, 255, .7);
}
.os-theme-dark > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-dark > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-vertical .os-scrollbar-handle:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
}
.os-theme-dark.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-dark.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-theme-light.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-light.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical .os-scrollbar-handle:before {
    display: none;
}
.os-theme-dark > .os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-horizontal .os-scrollbar-handle:before {
    top: -6px;
    bottom: -2px;
}
.os-theme-dark > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-theme-light > .os-scrollbar-vertical .os-scrollbar-handle:before {
    left: -6px;
    right: -2px;
}
.os-host-rtl.os-theme-dark > .os-scrollbar-vertical .os-scrollbar-handle:before,
.os-host-rtl.os-theme-light > .os-scrollbar-vertical .os-scrollbar-handle:before {
    right: -6px;
    left: -2px;
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  html {
    color-scheme: dark;
  }
  body {
    background: #07080b;
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.isolate {
  isolation: isolate;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.flex-shrink {
  flex-shrink: 1;
}
.shrink {
  flex-shrink: 1;
}
.flex-grow {
  flex-grow: 1;
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.resize {
  resize: both;
}
.text-wrap {
  text-wrap: wrap;
}
.break-all {
  word-break: break-all;
}
.border {
  border-width: 1px;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration-line: underline;
}
.overline {
  text-decoration-line: overline;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
  outline-style: solid;
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
/* Scoped port of mockups/regulation.html styles. All rules nested under
   .regulation-module to prevent leaking into the rest of SkyRay. */

.regulation-module {
  --reg-body:#07080b; --reg-panel:#1a1a1c; --reg-paper:#1e1e20; --reg-surface:#232326;
  --reg-border:#4a6600; --reg-border-dim:rgba(166,255,0,0.18); --reg-border-faint:rgba(166,255,0,0.10);
  --reg-accent:#a6ff00; --reg-accent-soft:rgba(166,255,0,0.12);
  --reg-accent-glow:0 0 0 1px rgba(166,255,0,0.28), 0 0 22px rgba(166,255,0,0.12);
  --reg-txt:#e0e0e0; --reg-txt-dim:#b8b8b8; --reg-txt-faint:#8a8a8a;
  --reg-red:#B90D0D; --reg-red-soft:#f78a8a;
  --reg-orange:#DA7706; --reg-orange-soft:#fcc990;
  --reg-yellow:#E3B52A; --reg-yellow-soft:#f4e1aa;
  --reg-green:#A5D796; --reg-green-soft:#dbefd5;
  --reg-intel:#b276ff;
  --reg-font:'Play',sans-serif;
  --reg-r-card:12px; --reg-r-btn:10px; --reg-r-chip:5px;

  font-family: var(--reg-font);
  color: var(--reg-txt);
  background: var(--reg-body);
  min-height: 100%;
  padding: 20px 24px 28px;
}

.regulation-module *, .regulation-module *::before, .regulation-module *::after { box-sizing: border-box; }
.regulation-module a { color: inherit; text-decoration: none; }

/* PAGE HEAD */
.regulation-module .page-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:14px; }
.regulation-module .page-title-wrap { display:flex;align-items:center;gap:14px; }
.regulation-module .page-title { font-size:20px;font-weight:700;color:var(--reg-txt);letter-spacing:0.02em;margin:0; }
.regulation-module .page-sub { font-size:11px;color:var(--reg-txt-faint);letter-spacing:0.08em;text-transform:uppercase;padding-left:14px;border-left:1px solid var(--reg-border-faint); }
.regulation-module .page-actions { display:flex;align-items:center;gap:10px; }

/* TABS */
.regulation-module .tabs { display:flex;gap:0;border-bottom:1px solid var(--reg-border-faint);margin-bottom:16px; }
.regulation-module .tab { padding:11px 18px;font-size:13px;font-weight:700;letter-spacing:0.02em;color:var(--reg-txt-faint);cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:color 0.15s, border-color 0.15s;background:transparent;border-top:none;border-left:none;border-right:none;font-family:var(--reg-font); }
.regulation-module .tab .material-icons { font-size:16px; }
.regulation-module .tab:hover { color:var(--reg-txt); }
.regulation-module .tab.active { color:var(--reg-accent);border-bottom-color:var(--reg-accent); }
.regulation-module .tab .tab-count { background:var(--reg-surface);color:var(--reg-txt-dim);border:1px solid var(--reg-border-dim);padding:1px 6px;border-radius:8px;font-size:10px; }
.regulation-module .tab.active .tab-count { background:var(--reg-accent-soft);color:var(--reg-accent);border-color:var(--reg-border); }

/* INFO BTN + POPOVER */
.regulation-module .info-btn { width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid var(--reg-border-dim);background:transparent;color:var(--reg-txt-faint);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--reg-font);font-size:11px;font-weight:700;font-style:italic;transition:color 0.15s, border-color 0.15s, background 0.15s;margin-left:6px; }
.regulation-module .info-btn:hover { color:var(--reg-accent);border-color:var(--reg-accent);background:var(--reg-accent-soft); }
.regulation-module .info-btn.active { color:#000;background:var(--reg-accent);border-color:var(--reg-accent); }
.regulation-module.tour-mode .info-btn { animation:reg-info-pulse 1.8s ease-in-out infinite;color:var(--reg-accent);border-color:var(--reg-accent); }
@keyframes reg-info-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(166,255,0,0);} 50%{box-shadow:0 0 0 4px rgba(166,255,0,0.18);} }
.reg-info-pop { position:absolute;z-index:60;max-width:300px;background:#1e1e20;border:1px solid #a6ff00;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.5;color:#e0e0e0;box-shadow:0 12px 32px rgba(0,0,0,0.5), 0 0 0 1px rgba(166,255,0,0.2);font-family:'Play',sans-serif; }
.reg-info-pop::before { content:'';position:absolute;top:-6px;left:14px;width:10px;height:10px;background:#1e1e20;border-top:1px solid #a6ff00;border-left:1px solid #a6ff00;transform:rotate(45deg); }
.reg-info-pop-title { font-size:11px;font-weight:700;color:#a6ff00;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:5px; }
.reg-info-pop-body b { color:#a6ff00;font-weight:700; }

/* ONBOARDING */
.regulation-module .onboard-banner { display:flex;align-items:center;gap:14px;background:linear-gradient(90deg, rgba(166,255,0,0.10), rgba(166,255,0,0.02));border:1px solid var(--reg-border);border-left:3px solid var(--reg-accent);border-radius:var(--reg-r-card);padding:12px 16px;margin-bottom:14px; }
.regulation-module .onboard-banner.hidden { display:none; }
.regulation-module .onboard-icon { width:34px;height:34px;border-radius:8px;flex-shrink:0;background:var(--reg-accent-soft);color:var(--reg-accent);display:flex;align-items:center;justify-content:center; }
.regulation-module .onboard-text { flex:1;font-size:12px;color:var(--reg-txt-dim);line-height:1.5; }
.regulation-module .onboard-text b { color:var(--reg-txt);font-size:13px;display:block;margin-bottom:2px; }
.regulation-module .onboard-text .accent { color:var(--reg-accent);font-weight:700; }

/* BUTTONS */
.regulation-module .btn { height:34px;padding:0 16px;border-radius:var(--reg-r-btn);border:1px solid transparent;cursor:pointer;font-family:var(--reg-font);font-size:13px;font-weight:700;letter-spacing:0.02em;display:inline-flex;align-items:center;gap:6px;transition:background 0.15s, border-color 0.15s, color 0.15s; }
.regulation-module .btn .material-icons { font-size:16px; }
.regulation-module .btn-primary { background:var(--reg-accent);color:#000; }
.regulation-module .btn-primary:hover { background:#b9ff33; }
.regulation-module .btn-ghost { background:transparent;color:var(--reg-txt-dim);border-color:var(--reg-border-dim); }
.regulation-module .btn-ghost:hover { color:var(--reg-txt);border-color:var(--reg-border); }
.regulation-module .btn-danger { background:transparent;color:var(--reg-red-soft);border-color:rgba(255,68,68,0.4); }
.regulation-module .btn-danger:hover { background:rgba(255,68,68,0.08); }
.regulation-module .btn-sm { height:28px;padding:0 12px;font-size:11px; }
.regulation-module .scope { display:flex;align-items:center;gap:8px;background:var(--reg-panel);border:1px solid var(--reg-border-dim);border-radius:var(--reg-r-btn);padding:7px 12px;cursor:pointer;font-size:12px;color:var(--reg-txt-dim);transition:border-color 0.15s; }
.regulation-module .scope:hover { border-color:var(--reg-border); }
.regulation-module .scope .material-icons { font-size:16px;color:var(--reg-accent); }

/* PANEL CARD */
.regulation-module .panel-card { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);overflow:hidden;display:flex;flex-direction:column;transition:transform 0.25s, box-shadow 0.25s, border-color 0.25s; }
.regulation-module .panel-card:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.4); }
.regulation-module .panel-head { display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--reg-border-faint); }
.regulation-module .panel-title { font-size:14px;font-weight:700;color:var(--reg-txt);letter-spacing:0.02em;display:flex;align-items:center; }
.regulation-module .panel-body { padding:14px; }

/* CHIPS */
.regulation-module .chip { display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--reg-r-chip);font-size:11px;font-weight:700;letter-spacing:0.02em;background:var(--reg-accent-soft);border:1px solid var(--reg-accent);color:var(--reg-accent); }
.regulation-module .chip-red { background:rgba(185,13,13,0.16);border-color:var(--reg-red);color:var(--reg-red-soft); }
.regulation-module .chip-orange { background:rgba(218,119,6,0.16);border-color:var(--reg-orange);color:var(--reg-orange-soft); }
.regulation-module .chip-yellow { background:rgba(227,181,42,0.16);border-color:var(--reg-yellow);color:var(--reg-yellow-soft); }
.regulation-module .chip-green { background:rgba(165,215,150,0.16);border-color:var(--reg-green);color:var(--reg-green-soft); }
.regulation-module .chip-grey { background:rgba(138,138,138,0.16);border-color:#5a5a5a;color:var(--reg-txt-dim); }
.regulation-module .chip-intel { background:rgba(178,118,255,0.14);border-color:var(--reg-intel);color:var(--reg-intel); }
.regulation-module .chip-soon { background:transparent;border:1px dashed var(--reg-border-dim);color:var(--reg-txt-faint); }

/* FRAMEWORKS POSTURE */
.regulation-module .posture-strip { display:grid;grid-template-columns:repeat(4, 1fr);gap:10px;margin-bottom:12px; }
.regulation-module .posture-card { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);padding:12px 14px;display:flex;flex-direction:column;gap:6px;transition:transform 0.2s, box-shadow 0.2s;cursor:pointer; }
.regulation-module .posture-card:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.35);border-color:var(--reg-accent); }
.regulation-module .posture-head { display:flex;align-items:center;justify-content:space-between; }
.regulation-module .posture-name { font-size:11px;color:var(--reg-txt-faint);letter-spacing:0.14em;text-transform:uppercase; }
.regulation-module .posture-value { font-size:26px;font-weight:700;color:var(--reg-txt);line-height:1; }
.regulation-module .posture-trend { font-size:11px;display:flex;align-items:center;gap:4px;color:var(--reg-accent); }
.regulation-module .posture-trend.down { color:var(--reg-red-soft); }
.regulation-module .posture-trend .material-icons { font-size:14px; }

/* FRAMEWORK CARDS */
.regulation-module .fwk-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.regulation-module .fwk-card { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);padding:16px;display:flex;gap:16px;align-items:center;transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s;cursor:pointer; }
.regulation-module .fwk-card:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.4);border-color:var(--reg-accent); }
.regulation-module .fwk-card.expanded { border-color:var(--reg-accent);box-shadow:var(--reg-accent-glow); }
.regulation-module .donut { width:84px;height:84px;flex-shrink:0;position:relative; }
.regulation-module .donut svg { transform:rotate(-90deg); }
.regulation-module .donut-track { fill:none;stroke:var(--reg-surface);stroke-width:8; }
.regulation-module .donut-fill { fill:none;stroke:var(--reg-accent);stroke-width:8;stroke-linecap:round; }
.regulation-module .donut-center { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center; }
.regulation-module .donut-num { font-size:20px;font-weight:700;color:var(--reg-accent);line-height:1; }
.regulation-module .donut-suffix { font-size:10px;color:var(--reg-txt-faint);letter-spacing:0.1em; }
.regulation-module .fwk-meta { flex:1; }
.regulation-module .fwk-name { font-size:15px;font-weight:700;color:var(--reg-txt); }
.regulation-module .fwk-version { font-size:10px;color:var(--reg-txt-faint);letter-spacing:0.14em;text-transform:uppercase;margin-top:2px; }
.regulation-module .fwk-stats { display:flex;gap:14px;margin-top:10px; }
.regulation-module .fwk-stat { display:flex;flex-direction:column; }
.regulation-module .fwk-stat-num { font-size:13px;font-weight:700; }
.regulation-module .fwk-stat-num.crit { color:var(--reg-red-soft); }
.regulation-module .fwk-stat-num.warn { color:var(--reg-orange-soft); }
.regulation-module .fwk-stat-num.ok { color:var(--reg-accent); }
.regulation-module .fwk-stat-num.dim { color:var(--reg-txt-faint); }
.regulation-module .fwk-stat-lbl { font-size:9px;color:var(--reg-txt-faint);letter-spacing:0.14em;text-transform:uppercase;margin-top:1px; }
.regulation-module .fwk-open { font-size:11px;color:var(--reg-accent);letter-spacing:0.06em;text-transform:uppercase; }

/* DRILLDOWN */
.regulation-module .fwk-drilldown { margin-top:14px;background:var(--reg-panel);border:1px solid var(--reg-accent);border-radius:var(--reg-r-card);padding:0;box-shadow:var(--reg-accent-glow); }
.regulation-module .fwk-dd-head { padding:14px 16px;border-bottom:1px solid var(--reg-border-faint);display:flex;align-items:center;justify-content:space-between; }
.regulation-module .fwk-dd-title { font-size:14px;font-weight:700;color:var(--reg-accent);display:flex;align-items:center;gap:10px; }
.regulation-module .fwk-dd-close { width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--reg-txt-faint);transition:color 0.15s, background 0.15s; }
.regulation-module .fwk-dd-close:hover { background:rgba(255,255,255,0.05);color:var(--reg-txt); }
.regulation-module .fwk-filters { padding:10px 16px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--reg-border-faint);flex-wrap:wrap; }
.regulation-module .filter-chip { padding:5px 11px;border-radius:14px;border:1px solid var(--reg-border-dim);font-size:11px;color:var(--reg-txt-dim);cursor:pointer;transition:all 0.15s; }
.regulation-module .filter-chip:hover { color:var(--reg-txt);border-color:var(--reg-border); }
.regulation-module .filter-chip.active { background:var(--reg-accent);color:#000;border-color:var(--reg-accent);font-weight:700; }
.regulation-module .fwk-intro { padding:14px 16px;border-bottom:1px solid var(--reg-border-faint);background:linear-gradient(180deg, rgba(166,255,0,0.04), transparent); }
.regulation-module .fwk-intro-summary { font-size:12px;color:var(--reg-txt-dim);line-height:1.55;margin-bottom:10px; }
.regulation-module .fwk-intro-summary b { color:var(--reg-txt);font-weight:700; }
.regulation-module .fwk-intro-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px; }
.regulation-module .fwk-intro-block { background:var(--reg-surface);border:1px solid var(--reg-border-faint);border-radius:8px;padding:9px 11px; }
.regulation-module .fwk-intro-block.full { grid-column:1 / -1; }
.regulation-module .fwk-intro-lbl { font-size:9px;color:var(--reg-accent);letter-spacing:0.14em;text-transform:uppercase;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:5px; }
.regulation-module .fwk-intro-lbl .material-icons { font-size:13px; }
.regulation-module .fwk-intro-val { font-size:11px;color:var(--reg-txt-dim);line-height:1.5; }
.regulation-module .fwk-intro-val b { color:var(--reg-txt);font-weight:700; }
.regulation-module .fwk-links { display:flex;flex-wrap:wrap;gap:6px;margin-top:6px; }
.regulation-module .fwk-link { display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:14px;background:var(--reg-paper);border:1px solid var(--reg-border-dim);font-size:11px;color:var(--reg-txt-dim);text-decoration:none;transition:all 0.15s; }
.regulation-module .fwk-link:hover { border-color:var(--reg-accent);color:var(--reg-accent);background:var(--reg-accent-soft); }
.regulation-module .fwk-link .material-icons { font-size:13px; }
.regulation-module .fwk-link.unverified { color:var(--reg-txt-faint);border-style:dashed;cursor:help;opacity:0.7;background:transparent; }

/* LIBRARY */
.regulation-module .lib-hero { display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:14px;background:linear-gradient(90deg, rgba(166,255,0,0.08), rgba(166,255,0,0.02));border:1px solid var(--reg-border);border-left:3px solid var(--reg-accent);border-radius:var(--reg-r-card); }
.regulation-module .lib-hero-icon { width:42px;height:42px;border-radius:10px;flex-shrink:0;background:var(--reg-accent-soft);color:var(--reg-accent);display:flex;align-items:center;justify-content:center; }
.regulation-module .lib-hero-icon .material-icons { font-size:24px; }
.regulation-module .lib-hero-body { flex:1; }
.regulation-module .lib-hero-title { font-size:14px;font-weight:700;color:var(--reg-txt); }
.regulation-module .lib-hero-sub { font-size:12px;color:var(--reg-txt-dim);margin-top:3px;line-height:1.5; }
.regulation-module .lib-grid { display:flex;flex-direction:column;gap:12px; }
.regulation-module .lib-fwk { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);overflow:hidden; }
.regulation-module .lib-fwk-head { display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--reg-border-faint);background:linear-gradient(180deg, rgba(166,255,0,0.04), transparent); }
.regulation-module .lib-fwk-mark { width:44px;height:44px;border-radius:10px;flex-shrink:0;background:var(--reg-accent-soft);color:var(--reg-accent);border:1px solid var(--reg-border);display:flex;align-items:center;justify-content:center; }
.regulation-module .lib-fwk-mark .material-icons { font-size:22px; }
.regulation-module .lib-fwk-meta { flex:1; }
.regulation-module .lib-fwk-name { font-size:16px;font-weight:700;color:var(--reg-txt); }
.regulation-module .lib-fwk-ver { font-size:11px;color:var(--reg-txt-faint);letter-spacing:0.08em;text-transform:uppercase;margin-top:3px; }
.regulation-module .lib-fwk-posture { display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--reg-border-faint); }
.regulation-module .lib-fwk-pct { font-size:22px;font-weight:700;color:var(--reg-accent);line-height:1; }
.regulation-module .lib-fwk-pct-lbl { font-size:9px;color:var(--reg-txt-faint);letter-spacing:0.12em;text-transform:uppercase; }
.regulation-module .lib-fwk-trend { font-size:11px;color:var(--reg-accent);display:flex;align-items:center;gap:3px;margin-top:2px; }
.regulation-module .lib-fwk-trend.down { color:var(--reg-red-soft); }
.regulation-module .lib-fwk-trend .material-icons { font-size:13px; }
.regulation-module .lib-fwk-open { padding:7px 12px;border:1px solid var(--reg-border-dim);border-radius:var(--reg-r-btn);font-size:11px;color:var(--reg-txt-dim);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all 0.15s; }
.regulation-module .lib-fwk-open:hover { color:var(--reg-accent);border-color:var(--reg-accent);background:var(--reg-accent-soft); }
.regulation-module .lib-fwk-open .material-icons { font-size:14px; }
.regulation-module .lib-fwk-body { padding:16px 18px; }
.regulation-module .lib-fwk-summary { font-size:13px;color:var(--reg-txt);line-height:1.6;margin-bottom:14px; }
.regulation-module .lib-fwk-summary b { color:var(--reg-accent);font-weight:700; }
.regulation-module .lib-fwk-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.regulation-module .lib-fwk-block { background:var(--reg-surface);border:1px solid var(--reg-border-faint);border-radius:8px;padding:11px 13px; }
.regulation-module .lib-fwk-block.full { grid-column:1 / -1; }
.regulation-module .lib-fwk-block-lbl { font-size:9px;color:var(--reg-accent);letter-spacing:0.14em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:6px;margin-bottom:6px; }
.regulation-module .lib-fwk-block-lbl .material-icons { font-size:13px; }
.regulation-module .lib-fwk-block-val { font-size:12px;color:var(--reg-txt-dim);line-height:1.55; }
.regulation-module .lib-fwk-block-val b { color:var(--reg-txt);font-weight:700; }

/* CONTROLS TABLE */
.regulation-module .ctrl-table { width:100%;border-collapse:collapse; }
.regulation-module .ctrl-table th { text-align:left;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--reg-txt-faint);padding:10px 14px;border-bottom:1px solid var(--reg-border-dim);font-weight:400; }
.regulation-module .ctrl-table td { padding:11px 14px;font-size:12px;color:var(--reg-txt);border-bottom:1px solid var(--reg-border-faint); }
.regulation-module .ctrl-table tr { cursor:pointer;transition:background 0.15s; }
.regulation-module .ctrl-table tbody tr:hover { background:rgba(166,255,0,0.04); }
.regulation-module .ctrl-id { font-weight:700;color:var(--reg-accent);font-size:11px;letter-spacing:0.06em; }
.regulation-module .ctrl-title { font-weight:700; }
.regulation-module .ctrl-dim { color:var(--reg-txt-faint);font-size:11px; }

/* ASSETS */
.regulation-module .sources-strip { display:grid;grid-template-columns:repeat(4, 1fr);gap:10px;margin-bottom:14px; }
.regulation-module .source-card { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);padding:14px;display:flex;flex-direction:column;gap:8px;transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s;cursor:pointer;position:relative; }
.regulation-module .source-card:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.4);border-color:var(--reg-accent); }
.regulation-module .source-card.future { opacity:0.65;border-style:dashed; }
.regulation-module .source-card.future:hover { transform:none;box-shadow:none;border-color:var(--reg-border-dim); }
.regulation-module .source-head { display:flex;align-items:center;justify-content:space-between; }
.regulation-module .source-icon { width:34px;height:34px;border-radius:8px;background:var(--reg-accent-soft);color:var(--reg-accent);display:flex;align-items:center;justify-content:center; }
.regulation-module .source-card.future .source-icon { background:rgba(138,138,138,0.10);color:var(--reg-txt-faint); }
.regulation-module .source-name { font-size:13px;font-weight:700;color:var(--reg-txt); }
.regulation-module .source-meta { font-size:11px;color:var(--reg-txt-faint); }
.regulation-module .source-foot { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px; }
.regulation-module .source-count { font-size:22px;font-weight:700;color:var(--reg-accent);line-height:1; }
.regulation-module .source-count.dim { color:var(--reg-txt-faint); }
.regulation-module .source-link { font-size:10px;color:var(--reg-txt-faint);letter-spacing:0.08em;text-transform:uppercase; }
.regulation-module .source-card:hover .source-link { color:var(--reg-accent); }
.regulation-module .source-note { font-size:10px;color:var(--reg-txt-faint);line-height:1.4;padding:6px 8px;background:var(--reg-surface);border-radius:6px;border-left:2px solid var(--reg-accent);margin-top:4px; }
.regulation-module .source-card.future .source-note { border-left-color:var(--reg-border-dim); }
.regulation-module .asset-table { width:100%;border-collapse:collapse; }
.regulation-module .asset-table th { text-align:left;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--reg-txt-faint);padding:10px 14px;border-bottom:1px solid var(--reg-border-dim);font-weight:400; }
.regulation-module .asset-table td { padding:11px 14px;font-size:12px;color:var(--reg-txt);border-bottom:1px solid var(--reg-border-faint); }
.regulation-module .asset-table tr { cursor:pointer;transition:background 0.15s; }
.regulation-module .asset-table tbody tr:hover { background:rgba(166,255,0,0.04); }
.regulation-module .asset-table tr.pending { background:rgba(218,119,6,0.04); }
.regulation-module .asset-tail { font-weight:700;color:var(--reg-accent); }
.regulation-module .asset-pend-banner { background:rgba(218,119,6,0.10);border-bottom:1px solid var(--reg-orange);padding:8px 14px;font-size:11px;color:var(--reg-orange-soft);display:flex;align-items:center;gap:8px; }
.regulation-module .asset-pend-banner .material-icons { font-size:16px; }
.regulation-module .src-badge { display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;background:var(--reg-surface);color:var(--reg-txt-dim);border:1px solid var(--reg-border-dim); }
.regulation-module .src-badge .material-icons { font-size:12px; }
.regulation-module .src-badge.digital-twin { color:var(--reg-accent);border-color:var(--reg-border);background:var(--reg-accent-soft); }
.regulation-module .src-badge.manual { color:var(--reg-txt); }
.regulation-module .src-badge.amos { color:var(--reg-intel);border-color:rgba(178,118,255,0.4);background:rgba(178,118,255,0.08); }

/* RISKS */
.regulation-module .risk-top { display:grid;grid-template-columns:380px 1fr;gap:12px;margin-bottom:12px; }
.regulation-module .matrix-card { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);padding:14px; }
.regulation-module .matrix-grid { display:grid;grid-template-columns:auto repeat(5, 1fr);grid-template-rows:auto repeat(5, 1fr);gap:3px;margin-top:8px; }
.regulation-module .mx-label { display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--reg-txt-faint);letter-spacing:0.1em;text-transform:uppercase; }
.regulation-module .mx-cell { aspect-ratio:1;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:transform 0.15s, box-shadow 0.15s;position:relative; }
.regulation-module .mx-cell:hover { transform:scale(1.05);z-index:2;box-shadow:0 0 0 2px var(--reg-accent); }
.regulation-module .mx-cell.empty { color:rgba(255,255,255,0.4); }
.regulation-module .mx-cell.selected { box-shadow:0 0 0 2px var(--reg-accent), 0 0 12px rgba(166,255,0,0.4);transform:scale(1.05);z-index:2; }
.regulation-module .mx-l1 { background:rgba(165,215,150,0.55); }
.regulation-module .mx-l2 { background:rgba(227,181,42,0.50); }
.regulation-module .mx-l3 { background:rgba(218,119,6,0.55); }
.regulation-module .mx-l4 { background:rgba(185,13,13,0.55); }
.regulation-module .mx-l5 { background:rgba(185,13,13,0.85); }
.regulation-module .mx-axis-y { grid-row:2 / span 5;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--reg-txt-faint);display:flex;align-items:center;justify-content:center;padding-right:6px; }
.regulation-module .mx-axis-x { grid-column:2 / span 5;font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--reg-txt-faint);text-align:center;padding-top:6px; }
.regulation-module .kpis { display:grid;grid-template-columns:repeat(5, 1fr);gap:8px; }
.regulation-module .kpi { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);padding:12px;display:flex;flex-direction:column;gap:4px;transition:transform 0.2s, box-shadow 0.2s; }
.regulation-module .kpi:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.35); }
.regulation-module .kpi.warn { border-color:rgba(218,119,6,0.5); }
.regulation-module .kpi.urgent { border-color:rgba(255,68,68,0.5); }
.regulation-module .kpi-lbl { font-size:9px;color:var(--reg-txt-faint);letter-spacing:0.14em;text-transform:uppercase; }
.regulation-module .kpi-val { font-size:24px;font-weight:700;color:var(--reg-txt);line-height:1; }
.regulation-module .kpi.warn .kpi-val { color:var(--reg-orange-soft); }
.regulation-module .kpi.urgent .kpi-val { color:var(--reg-red-soft); }
.regulation-module .risk-filters { display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;padding:10px 14px;background:var(--reg-panel);border:1px solid var(--reg-border-faint);border-radius:var(--reg-r-card); }
.regulation-module .filter-lbl { font-size:10px;color:var(--reg-txt-faint);letter-spacing:0.12em;text-transform:uppercase;margin-right:4px; }
.regulation-module .risk-table { width:100%;border-collapse:collapse; }
.regulation-module .risk-table th { text-align:left;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--reg-txt-faint);padding:10px 14px;border-bottom:1px solid var(--reg-border-dim);font-weight:400; }
.regulation-module .risk-table td { padding:11px 14px;font-size:12px;color:var(--reg-txt);border-bottom:1px solid var(--reg-border-faint); }
.regulation-module .risk-table tr { cursor:pointer;transition:background 0.15s; }
.regulation-module .risk-table tbody tr:hover { background:rgba(166,255,0,0.04); }
.regulation-module .risk-id { color:var(--reg-accent);font-weight:700;font-size:11px;letter-spacing:0.04em; }
.regulation-module .risk-score { display:inline-flex;width:24px;height:24px;border-radius:6px;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff; }
.regulation-module .risk-score.s1 { background:var(--reg-green);color:#000; }
.regulation-module .risk-score.s2 { background:var(--reg-yellow);color:#000; }
.regulation-module .risk-score.s3 { background:var(--reg-orange); }
.regulation-module .risk-score.s4 { background:var(--reg-red); }

/* APPROVALS */
.regulation-module .approval-list { display:flex;flex-direction:column;gap:8px; }
.regulation-module .approval-item { background:var(--reg-panel);border:1px solid var(--reg-border);border-radius:var(--reg-r-card);padding:14px 16px;display:flex;align-items:center;gap:14px;transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s;cursor:pointer; }
.regulation-module .approval-item:hover { transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,0.4);border-color:var(--reg-accent); }
.regulation-module .approval-item.mine { border-left:3px solid var(--reg-accent); }
.regulation-module .approval-step-icon { width:36px;height:36px;border-radius:8px;background:var(--reg-accent-soft);color:var(--reg-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.regulation-module .approval-body { flex:1; }
.regulation-module .approval-title { font-size:13px;font-weight:700;color:var(--reg-txt); }
.regulation-module .approval-meta { font-size:11px;color:var(--reg-txt-faint);margin-top:3px;display:flex;gap:10px;flex-wrap:wrap; }
.regulation-module .approval-meta b { color:var(--reg-txt-dim);font-weight:400; }
.regulation-module .approval-stage { font-size:10px;color:var(--reg-accent);letter-spacing:0.1em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--reg-border);border-radius:4px;background:var(--reg-accent-soft); }
.regulation-module .approval-actions { display:flex;gap:6px; }

/* SLIDE-OVER */
.reg-so-overlay { position:fixed;inset:0;background:rgba(0,0,0,0.45);display:none;z-index:80; }
body.reg-so-open .reg-so-overlay { display:block; }
.reg-so-panel { position:fixed;top:36px;right:0;width:560px;max-width:100vw;height:calc(100vh - 36px);background:#1a1a1c;border-left:1px solid #4a6600;box-shadow:-12px 0 32px rgba(0,0,0,0.5);transform:translateX(100%);transition:transform 0.25s ease;z-index:90;overflow-y:auto;display:flex;flex-direction:column;font-family:'Play',sans-serif;color:#e0e0e0; }
body.reg-so-open .reg-so-panel { transform:translateX(0); }
.reg-so-panel .so-head { padding:16px 20px;border-bottom:1px solid rgba(166,255,0,0.10);display:flex;align-items:flex-start;justify-content:space-between;gap:14px;position:sticky;top:0;background:#1a1a1c;z-index:2; }
.reg-so-panel .so-head-meta { flex:1; }
.reg-so-panel .so-rid { font-size:10px;color:#a6ff00;letter-spacing:0.1em;text-transform:uppercase;font-weight:700; }
.reg-so-panel .so-title { font-size:16px;font-weight:700;color:#e0e0e0;margin-top:4px;line-height:1.3; }
.reg-so-panel .so-sub { font-size:11px;color:#8a8a8a;margin-top:4px;display:flex;gap:10px;flex-wrap:wrap; }
.reg-so-panel .so-close { width:30px;height:30px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#8a8a8a;transition:color 0.15s, background 0.15s; }
.reg-so-panel .so-close:hover { background:rgba(255,255,255,0.05);color:#e0e0e0; }
.reg-so-panel .stepper { display:flex;padding:14px 20px;gap:0;background:#1e1e20;border-bottom:1px solid rgba(166,255,0,0.10); }
.reg-so-panel .step { flex:1;display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer;padding:4px 0; }
.reg-so-panel .step:not(:last-child)::after { content:'';position:absolute;top:14px;left:50%;width:100%;height:2px;background:rgba(166,255,0,0.18);z-index:0; }
.reg-so-panel .step.done:not(:last-child)::after { background:#a6ff00; }
.reg-so-panel .step-circle { width:28px;height:28px;border-radius:50%;background:#232326;border:1px solid rgba(166,255,0,0.18);color:#8a8a8a;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;z-index:1;position:relative; }
.reg-so-panel .step.done .step-circle { background:#a6ff00;color:#000;border-color:#a6ff00; }
.reg-so-panel .step.done .step-circle .material-icons { font-size:16px; }
.reg-so-panel .step.current .step-circle { background:rgba(166,255,0,0.12);color:#a6ff00;border-color:#a6ff00;box-shadow:0 0 0 1px rgba(166,255,0,0.28), 0 0 22px rgba(166,255,0,0.12); }
.reg-so-panel .step-label { font-size:9px;color:#8a8a8a;margin-top:5px;letter-spacing:0.1em;text-transform:uppercase; }
.reg-so-panel .step.current .step-label, .reg-so-panel .step.done .step-label { color:#e0e0e0; }
.reg-so-panel .so-section { padding:16px 20px;border-bottom:1px solid rgba(166,255,0,0.10); }
.reg-so-panel .so-section:last-child { border-bottom:none; }
.reg-so-panel .so-section-title { font-size:10px;color:#a6ff00;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;margin-bottom:10px;display:flex;align-items:center; }
.reg-so-panel .so-row { display:flex;gap:12px;margin-bottom:8px; }
.reg-so-panel .so-row label { font-size:10px;color:#8a8a8a;letter-spacing:0.1em;text-transform:uppercase;flex:0 0 110px;padding-top:6px; }
.reg-so-panel .so-row .so-val { flex:1;font-size:12px;color:#e0e0e0; }
.reg-so-panel .so-input, .reg-so-panel .so-select, .reg-so-panel .so-textarea { width:100%;background:#232326;border:1px solid rgba(166,255,0,0.18);border-radius:6px;padding:7px 10px;color:#e0e0e0;font-family:'Play',sans-serif;font-size:12px; }
.reg-so-panel .so-textarea { min-height:64px;resize:vertical; }
.reg-so-panel .li-block { display:flex;align-items:center;gap:10px;margin-top:6px; }
.reg-so-panel .li-pills { display:inline-flex;gap:3px;background:#232326;border:1px solid rgba(166,255,0,0.18);border-radius:7px;padding:3px; }
.reg-so-panel .li-pill { width:30px;height:26px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#b8b8b8;transition:all 0.12s;position:relative; }
.reg-so-panel .li-pill:hover { color:#a6ff00;background:rgba(166,255,0,0.06); }
.reg-so-panel .li-pill.active { background:#a6ff00;color:#000; }
.reg-so-panel .li-pill .li-tip { position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#1e1e20;border:1px solid rgba(166,255,0,0.18);color:#b8b8b8;padding:3px 7px;border-radius:4px;font-size:10px;font-weight:400;white-space:nowrap;letter-spacing:0.04em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity 0.12s;z-index:5; }
.reg-so-panel .li-pill:hover .li-tip { opacity:1; }
.reg-so-panel .li-current { font-size:11px;color:#b8b8b8;letter-spacing:0.04em; }
.reg-so-panel .li-current b { color:#a6ff00;font-weight:700; }
.reg-so-panel .li-label-wrap { display:flex;align-items:center;flex:0 0 110px; }
.reg-so-panel .li-label-wrap label { font-size:10px;color:#8a8a8a;letter-spacing:0.1em;text-transform:uppercase; }
.reg-so-panel .treat-grid { display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px; }
.reg-so-panel .treat-opt { padding:10px;border:1px solid rgba(166,255,0,0.18);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;color:#b8b8b8;transition:all 0.15s; }
.reg-so-panel .treat-opt:hover { border-color:#4a6600;color:#e0e0e0; }
.reg-so-panel .treat-opt.active { border-color:#a6ff00;background:rgba(166,255,0,0.12);color:#a6ff00;font-weight:700; }
.reg-so-panel .treat-opt .material-icons { font-size:18px; }
.reg-so-panel .appr-timeline { display:flex;flex-direction:column;gap:10px; }
.reg-so-panel .appr-step { display:flex;gap:12px;padding:12px;border:1px solid rgba(166,255,0,0.10);border-radius:8px;background:#232326; }
.reg-so-panel .appr-step.done { border-color:#4a6600; }
.reg-so-panel .appr-step.current { border-color:#a6ff00;box-shadow:0 0 0 1px rgba(166,255,0,0.28), 0 0 22px rgba(166,255,0,0.12);background:rgba(166,255,0,0.12); }
.reg-so-panel .appr-avatar { width:32px;height:32px;border-radius:50%;background:rgba(166,255,0,0.12);color:#a6ff00;border:1px solid #4a6600;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0; }
.reg-so-panel .appr-body { flex:1; }
.reg-so-panel .appr-role { font-size:10px;color:#8a8a8a;letter-spacing:0.12em;text-transform:uppercase; }
.reg-so-panel .appr-person { font-size:12px;font-weight:700;color:#e0e0e0;margin-top:2px; }
.reg-so-panel .appr-status { font-size:11px;color:#b8b8b8;margin-top:4px; }
.reg-so-panel .appr-status.done { color:#a6ff00; }
.reg-so-panel .appr-status.pending { color:#fcc990; }
.reg-so-panel .appr-time { font-size:10px;color:#8a8a8a;margin-top:2px; }
.reg-so-panel .appr-actions { display:flex;gap:6px;margin-top:8px; }
.reg-so-panel .linked-list { display:flex;flex-direction:column;gap:5px; }
.reg-so-panel .linked-item { display:flex;align-items:center;gap:10px;padding:8px 10px;background:#232326;border:1px solid rgba(166,255,0,0.18);border-radius:6px;font-size:11px;cursor:pointer;transition:border-color 0.15s; }
.reg-so-panel .linked-item:hover { border-color:#a6ff00; }
.reg-so-panel .linked-frame { font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:#8a8a8a;background:#1a1a1c;padding:2px 6px;border-radius:3px; }
.reg-so-panel .btn { height:34px;padding:0 16px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-family:'Play',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.02em;display:inline-flex;align-items:center;gap:6px;transition:background 0.15s, border-color 0.15s, color 0.15s; }
.reg-so-panel .btn .material-icons { font-size:16px; }
.reg-so-panel .btn-primary { background:#a6ff00;color:#000; }
.reg-so-panel .btn-primary:hover { background:#b9ff33; }
.reg-so-panel .btn-ghost { background:transparent;color:#b8b8b8;border-color:rgba(166,255,0,0.18); }
.reg-so-panel .btn-ghost:hover { color:#e0e0e0;border-color:#4a6600; }
.reg-so-panel .btn-danger { background:transparent;color:#f78a8a;border-color:rgba(255,68,68,0.4); }
.reg-so-panel .btn-sm { height:28px;padding:0 12px;font-size:11px; }
.reg-so-panel .risk-score { display:inline-flex;width:24px;height:24px;border-radius:6px;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff; }
.reg-so-panel .risk-score.s1 { background:#A5D796;color:#000; }
.reg-so-panel .risk-score.s2 { background:#E3B52A;color:#000; }
.reg-so-panel .risk-score.s3 { background:#DA7706; }
.reg-so-panel .risk-score.s4 { background:#B90D0D; }
.reg-so-panel .src-badge { display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;background:#232326;color:#b8b8b8;border:1px solid rgba(166,255,0,0.18); }
.reg-so-panel .src-badge .material-icons { font-size:12px; }
.reg-so-panel .src-badge.digital-twin { color:#a6ff00;border-color:#4a6600;background:rgba(166,255,0,0.12); }
.reg-so-panel .ctrl-id { font-weight:700;color:#a6ff00;font-size:11px;letter-spacing:0.06em; }
.reg-so-panel .ctrl-dim { color:#8a8a8a;font-size:11px; }
.reg-so-panel .asset-tail { font-weight:700;color:#a6ff00; }

/* MODAL */
.reg-modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(3px);display:none;z-index:100;align-items:center;justify-content:center;padding:24px;font-family:'Play',sans-serif; }
body.reg-modal-open .reg-modal-overlay { display:flex; }
.reg-modal-overlay .modal { width:640px;max-width:96vw;background:#1a1a1c;border:1px solid #a6ff00;border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,0.6), 0 0 0 1px rgba(166,255,0,0.28), 0 0 22px rgba(166,255,0,0.12);display:flex;flex-direction:column;max-height:92vh;overflow:hidden;color:#e0e0e0; }
.reg-modal-overlay .modal-head { padding:16px 22px;border-bottom:1px solid rgba(166,255,0,0.10);display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:linear-gradient(180deg, rgba(166,255,0,0.06), transparent); }
.reg-modal-overlay .modal-title-wrap { flex:1; }
.reg-modal-overlay .modal-eyebrow { font-size:10px;color:#a6ff00;letter-spacing:0.14em;text-transform:uppercase;font-weight:700; }
.reg-modal-overlay .modal-title { font-size:17px;font-weight:700;color:#e0e0e0;margin-top:3px; }
.reg-modal-overlay .modal-sub { font-size:11px;color:#8a8a8a;margin-top:3px;letter-spacing:0.02em; }
.reg-modal-overlay .modal-body { padding:18px 22px;overflow-y:auto; }
.reg-modal-overlay .modal-foot { padding:14px 22px;border-top:1px solid rgba(166,255,0,0.10);display:flex;justify-content:space-between;align-items:center;gap:8px;background:#1e1e20; }
.reg-modal-overlay .modal-foot-note { font-size:11px;color:#8a8a8a;display:flex;align-items:center;gap:6px; }
.reg-modal-overlay .modal-foot-note .material-icons { font-size:14px;color:#a6ff00; }
.reg-modal-overlay .modal-foot-actions { display:flex;gap:8px; }
.reg-modal-overlay .so-close { width:30px;height:30px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#8a8a8a;transition:color 0.15s, background 0.15s; }
.reg-modal-overlay .so-close:hover { background:rgba(255,255,255,0.05);color:#e0e0e0; }
.reg-modal-overlay .pipeline { display:flex;align-items:center;gap:8px;padding:11px 14px;margin-bottom:18px;background:#232326;border:1px solid rgba(166,255,0,0.10);border-radius:10px; }
.reg-modal-overlay .pl-step { display:flex;align-items:center;gap:7px;font-size:11px;color:#8a8a8a;letter-spacing:0.04em; }
.reg-modal-overlay .pl-step b { color:#e0e0e0;font-weight:700; }
.reg-modal-overlay .pl-dot { width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#232326;border:1px solid rgba(166,255,0,0.18);color:#8a8a8a;font-size:10px;font-weight:700; }
.reg-modal-overlay .pl-step.current .pl-dot { background:#a6ff00;color:#000;border-color:#a6ff00;box-shadow:0 0 0 1px rgba(166,255,0,0.28), 0 0 22px rgba(166,255,0,0.12); }
.reg-modal-overlay .pl-step.current b { color:#a6ff00; }
.reg-modal-overlay .pl-step.pending { opacity:0.65; }
.reg-modal-overlay .pl-arrow { color:#8a8a8a;font-size:12px; }
.reg-modal-overlay .mod-section { margin-bottom:18px; }
.reg-modal-overlay .mod-section:last-child { margin-bottom:0; }
.reg-modal-overlay .mod-section-head { display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;color:#a6ff00;letter-spacing:0.14em;text-transform:uppercase;font-weight:700; }
.reg-modal-overlay .mod-section-head .material-icons { font-size:14px; }
.reg-modal-overlay .mod-section-head .step-num { width:18px;height:18px;border-radius:50%;background:#a6ff00;color:#000;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:0; }
.reg-modal-overlay .type-grid { display:grid;grid-template-columns:repeat(4, 1fr);gap:8px; }
.reg-modal-overlay .type-tile { background:#232326;border:1px solid rgba(166,255,0,0.18);border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all 0.15s;display:flex;flex-direction:column;align-items:center;gap:6px; }
.reg-modal-overlay .type-tile:hover { border-color:#4a6600;background:rgba(166,255,0,0.04); }
.reg-modal-overlay .type-tile.active { border-color:#a6ff00;background:rgba(166,255,0,0.12);box-shadow:0 0 0 1px rgba(166,255,0,0.28), 0 0 22px rgba(166,255,0,0.12); }
.reg-modal-overlay .type-tile .material-icons { font-size:22px;color:#b8b8b8; }
.reg-modal-overlay .type-tile.active .material-icons { color:#a6ff00; }
.reg-modal-overlay .type-tile-name { font-size:11px;font-weight:700;color:#b8b8b8; }
.reg-modal-overlay .type-tile.active .type-tile-name { color:#a6ff00; }
.reg-modal-overlay .field-grid { display:grid;gap:12px; }
.reg-modal-overlay .field-grid.cols-2 { grid-template-columns:1fr 1fr; }
.reg-modal-overlay .field-grid.cols-3 { grid-template-columns:1fr 1fr 1fr; }
.reg-modal-overlay .field { display:flex;flex-direction:column;gap:5px; }
.reg-modal-overlay .field-label { display:flex;align-items:center;gap:6px;font-size:10px;color:#8a8a8a;letter-spacing:0.1em;text-transform:uppercase; }
.reg-modal-overlay .field-label .req { color:#a6ff00; }
.reg-modal-overlay .field-label .opt { color:#8a8a8a;text-transform:none;letter-spacing:0;font-size:10px;font-style:italic;margin-left:auto; }
.reg-modal-overlay .so-input, .reg-modal-overlay .so-textarea { width:100%;background:#232326;border:1px solid rgba(166,255,0,0.18);border-radius:6px;padding:7px 10px;color:#e0e0e0;font-family:'Play',sans-serif;font-size:12px; }
.reg-modal-overlay .so-textarea { min-height:64px;resize:vertical; }
.reg-modal-overlay .so-input:focus, .reg-modal-overlay .so-textarea:focus { outline:none;border-color:#a6ff00; }
.reg-modal-overlay .crit-row { display:inline-flex;gap:4px;background:#232326;border:1px solid rgba(166,255,0,0.18);border-radius:7px;padding:3px; }
.reg-modal-overlay .crit-pill { padding:6px 12px;border-radius:5px;cursor:pointer;font-size:11px;font-weight:700;color:#b8b8b8;letter-spacing:0.02em;transition:all 0.12s; }
.reg-modal-overlay .crit-pill:hover { color:#e0e0e0; }
.reg-modal-overlay .crit-pill.active.low { background:#A5D796;color:#000; }
.reg-modal-overlay .crit-pill.active.med { background:#E3B52A;color:#000; }
.reg-modal-overlay .crit-pill.active.high { background:#DA7706;color:#fff; }
.reg-modal-overlay .crit-pill.active.crit { background:#B90D0D;color:#fff; }
.reg-modal-overlay .scope-chips { display:flex;flex-wrap:wrap;gap:5px; }
.reg-modal-overlay .scope-chip { padding:5px 10px;border-radius:14px;border:1px solid rgba(166,255,0,0.18);font-size:11px;color:#b8b8b8;cursor:pointer;transition:all 0.15s; }
.reg-modal-overlay .scope-chip:hover { border-color:#4a6600;color:#e0e0e0; }
.reg-modal-overlay .scope-chip.active { background:#a6ff00;color:#000;border-color:#a6ff00;font-weight:700; }
.reg-modal-overlay .eng-note { display:flex;gap:12px;padding:12px 14px;background:linear-gradient(90deg, rgba(178,118,255,0.08), rgba(178,118,255,0.02));border:1px solid rgba(178,118,255,0.3);border-left:3px solid #b276ff;border-radius:8px;margin-top:8px; }
.reg-modal-overlay .eng-note-icon { width:32px;height:32px;border-radius:8px;flex-shrink:0;background:rgba(178,118,255,0.12);color:#b276ff;display:flex;align-items:center;justify-content:center; }
.reg-modal-overlay .eng-note-body { flex:1;font-size:11px;color:#b8b8b8;line-height:1.5; }
.reg-modal-overlay .eng-note-body b { color:#b276ff;font-weight:700; }

/* PAGE FOOT */
.regulation-module .page-foot { margin-top:18px;padding-top:10px;border-top:1px solid var(--reg-border-faint);display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--reg-txt-faint);letter-spacing:0.06em; }

/* EMPTY STATE */
.regulation-module .empty-state { padding:40px 20px;text-align:center;color:var(--reg-txt-faint);background:var(--reg-panel);border:1px dashed var(--reg-border-dim);border-radius:var(--reg-r-card); }
.regulation-module .empty-state .material-icons { font-size:40px;color:var(--reg-border);margin-bottom:8px; }
.regulation-module .empty-state-title { font-size:13px;color:var(--reg-txt);font-weight:700;margin-bottom:4px; }
