
:root {
    --app-text-color:rgb(19,50,75);
    --app-text-color-success: #179357; 
    --app-text-color-warning : #f39431; 
    --app-text-color-danger : #ec4f41; 
    --app-text-color-info: #17a2b8; 
    
    --app-label-color:#5a788a;

    --app-primary-bg-color:#3f65ea;
    --app-primary-border-color: #3f65ea;
    --app-primary-hover-bg-color: #297be6;
    --app-primary-hover-border-color: #297be6;
    --app-primary-color:#3f65ea;
    --app-active-tab-border-color:#3f65ea;

    --app-destructive-bg-color: #e32717;
    --app-destructive-border-color: #d82516;
    --app-destructive-hover-bg-color: #e92f1e;
    --app-destructive-hover-border-color: #e32717;

    --app-warning-bg-color:#ffc357;
    --app-warning-border-color:#ffbc45;
    --app-warning-hover-bg-color:#ffcb6d;
    --app-warning-hover-border-color:#ffc3f7;


    --app-font-family:"Source Sans 3",ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --app-page-bg-color:rgb(241,245,249);
    --app-border-color:#dbe3eb;
    --app-header-bg-color:#dbe3eb;
    --app-active-selector-bg-color:#5a788a;
    --app-active-selector-color:#fff;
    --app-input-label-bg-color:#e9eef3;
    --app-active-nav-bg-color:#e7eff6;

    --app-canvas-top:0;
    --app-canvas-height:100%;
    --app-canvas-left:0;
    --app-canvas-width:100%;

    --studio-height:500px;

    --currently-selecting:inline;
}

strong {
    font-weight:620;
}
line-break {
    display:block;
    & + line-break {
        height:20px;
    }
}

app-icon {
    display:block;
    width:20px;
    height:20px;
}

drag-dots {
    display:var(--currently-selecting);
}

sqx-frame {
    display:block;
    &[status=loaded] {
        display:contents;
    }
    > body-area {
        display: flex;
        flex-direction: column;
        transition: opacity 0.2s;
        font-family: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
        height: 100%;
    }
}
page-container {
    display:contents;
    > body-area {
        display:flex;
        flex-direction: column;
        transition: opacity 0.2s;
        font-family:"Source Sans 3", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
        height:100%;
        &:has( > dialog-content){
            background-color:transparent;
        }
       
        > body-positioner {
           
            flex-grow: 1;
            overflow: hidden;
            
            position:relative;
            display:block;
        
            > body-inner
            {
                display:block;
                background-color: var(--app-page-bg-color);
                box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .2), 0 8px 10px -6px rgba(0, 0, 0, .2);
                pointer-events: all;
                height:100%;
                overflow:hidden;

            }
        }
    }
}

.flex {
    display:flex;
    &.hidden
    {
        display: none !important;
    }
}
.hidden {
    display:none !important;
}
.hide-unless-hover {
    opacity:0;
}
.hide-unless-hover-30 {
    opacity: 0;
} 
.opacity-low-unless-hover {
    opacity:0.40;
}
.hover-container:hover {
    .hide-unless-hover, .opacity-low-unless-hover{
        opacity:1;
    }
    .hide-unless-hover-30 {
        opacity: 0.3;
    }
}

.hide-unless-hover:hover, .hide-unless-hover-30:hover, .opacity-low-unless-hover:hover {
    opacity: 1 !important;
}

.hover-dark-bg:hover {
    background-color:var(--app-header-bg-color);
}
.hover-highlight:hover {
    background-color: #ddedfd;
}
tab-menu {
    position:absolute;
    top:6px;
    right:0;
    z-index:50;
    drop-content {
        right:0;
    }
}


.loading-indicator {
    position:fixed !important;
    display:block;
    top:-1px;
    left:-1px;
    pointer-events: none;
    width:0;
    transition: opacity 1s !important;
    transform:translate(-75px,-75px);
    svg {
        fill:var(--app-primary-color);
    }
   
}
.sqx-request {
    .loading-indicator {
        top:50%;
        left:50%;
        z-index:60000;
        width:100px;
        display:block;
    }
}

page-load-error {
    padding:20px;
    display:flex;
    align-items:center;
    justify-content: center;
    min-height:100%;
}
data-field {
    display:flex;
    flex-direction: column;
    position:relative;
    & > label-area {
        white-space: nowrap;
        width:100%;
        color:var(--app-label-color);
        display:block;
        font-size:11px;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.2;
    }
   
    & > body-area {
        align-items: center;
        display:flex;
        flex-wrap: wrap;
        flex-grow:1;
        gap:3px;
        letter-spacing: 0.2px;
        white-space: nowrap;
        &:empty:after {
            content: '\2014';
            opacity: 0.8;
        }
        > value-badge:empty {
            background-color:transparent;
        }
        > value-badge:empty:after {
            content: '\2014';
            opacity: 0.8;
        }
        input {
            font-size:14px;
            padding:8px 9px;
            font-weight: 520;
            line-height: 1;
            flex-grow:1;
            outline:solid 2px var(--app-border-color);
            border-radius:3px;
            &[type="checkbox"] {
                width:auto;
                margin-left:10px;
            }
            &:focus , &:active {
                outline:solid 2px var(--app-text-color);
            }
        }
        select {
            font-size:14px;
            padding:8px 6px;
            font-weight: 520;
            line-height: 1;
            width:100%;
        }
        textarea {
            width:100%;
            height:100px;
            padding:8px 9px;
            font-weight:520;
            font-size:14px;
        }
        & > field-error {
            display:block;
            color:#ec4f41;
            font-weight:550;
            font-size:12px;
            width:100%;
            line-height: 1;
            margin:-1px;
            padding:4px 10px 4px 10px;
            background-color:#fff8f7;
        }
        
        a {
            cursor:pointer;
            &:hover {
                color:var(--app-primary-color)
            }
            app-icon {
                fill:var(--app-primary-color);
                width:16px;
            }
        }
        lookup-launch {
            display:block;
            padding:0 6px;
            cursor:pointer;
        }
        value-description {
            &:empty {
                display:none;
            }
            display:block;
            padding:2px 15px;
            font-size:14px;
            font-weight:520;
            border-radius:6px;
            background-color:var(--app-input-label-bg-color);
        }
    } 
   
    & > description-area {
        margin-top:10px;
        font-size:14px;
    }
    & > hints-area {
        display:none;
    }
    &:focus-within{
        > hints-area
        {
            display: block;
        }
    }
   
}

a.action-link[button-type=link]{
    label-area {
        color:var(--app-primary-color);
        font-size:13.5px;
    }
    &:hover {
        label-area {
            text-decoration:underline;
        }
    }
}

.flex-border-list > div:last-child > .hide-border-on-last {
    border-style:none;
}
section-card {
    display:block;
    & > section-title-row {
        display:flex;
        margin-bottom: 6px;
        align-items: center;
        
        &:empty {
            margin-bottom: 0;
        }
        title-area {
            align-items: center;
            display: flex;
            font-size: 17.5px;
            font-weight: 600;
            cursor: pointer;
            flex-grow:1;
            > collapse-icon {
                width:16px;
                height:16px;
                path {
                    d:path("M17,9.17a1,1,0,0,0-1.41,0L12,12.71,8.46,9.17a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.42l4.24,4.24a1,1,0,0,0,1.42,0L17,10.59A1,1,0,0,0,17,9.17Z");
                }
            }
            
        }
        actions-area {
            margin-left:auto;
            display:flex;
            align-items: center;
            padding-right:2px;
        }
       
    }
    & > header-area {
        align-items: center;
        background-color: var(--app-header-bg-color);
        cursor: pointer;
        display: flex;
        gap: 20px;
        padding: 4px 20px;
    }
    > description-area {
        display:block;
        font-size:13.5px;
        margin-bottom:8px;
    }
    &[state-collapsed] > description-area {
        display:none;
    }
    &[state-collapsed] > section-title-row > title-area > collapse-icon {
        path {
            d:path("M14.83,11.29,10.59,7.05a1,1,0,0,0-1.42,0,1,1,0,0,0,0,1.41L12.71,12,9.17,15.54a1,1,0,0,0,0,1.41,1,1,0,0,0,.71.29,1,1,0,0,0,.71-.29l4.24-4.24A1,1,0,0,0,14.83,11.29Z");
        }
    }
    > section-card-container  > section-card-container-inner {
        overflow:hidden;
    }
    &[state-collapsed] > section-card-container {
        grid-template-rows:0fr;
       
    }
    &[state-collapsed] > footer-area {
        display:none;
    }
    &[state-collapsed] > section-title-row > actions-area {
        display: none;
    }
    &.list-child {
        margin-top:1px;
        &:first-child {
            margin-top:0;
        }
    }
    & > footer-area {
        display: flex;
        gap: 5px;
        margin-top:3px;
        align-items: inherit;
        > button , > a.action-link{
            flex-grow:1;
            flex-basis:100px;
            justify-content:center;
            > label-area {
                flex-grow:0;
            }
        }
                      
    }
    &[background=transparent] > section-card-container > section-card-container-inner > body-area {
        background-color: transparent;
    }
}

section-card-container {
    display:grid;
    grid-template-rows:1fr;
    transition:grid-template-rows 0.15s ease-in-out;
   
}

section-card-container-inner {
    > body-area {
        background-color:#fff;
        display:block;
    }
}


description-list {
    display:block;

    & > body-area {
        grid-gap: 1px;
        background-color: var(--app-border-color);
        display: grid;
        grid-template-columns: 11rem auto;
        row-gap: 1px;
        & > * {
            background-color:#fff;
            padding:15px 20px;
        }
        data-field {
            display:contents;
            & > label-area {
                align-items: center;
                background-color: #fff;
                color: var(--app-text-color);
                display: flex;
                font-size: 14px;
                font-weight: 600;
                line-height: 1;
                padding: 10px 20px;
            }
            & > body-area {
                background-color: #fff;
                padding: 10px 20px 10px 10px;
                [is-edit-icon] {
                    margin-left:auto;
                    margin-right:-15px;
                }
            }
            
            &[is-input] {
                > label-area {
                    background-color:var(--app-input-label-bg-color);
                }
                 > body-area {
                    padding:1px;
                    padding:6px 9px 6px 8px;
                    margin-top:-1px;
                    margin-left:-1px;
                    background-color:var(--app-input-label-bg-color);
                }
                
            }
            &:first-child, &:not([is-input]) + &[is-input] {
                > body-area {
                    padding-top:12px;
                }
            }
            &:last-child, &[is-input]:has(+ data-field:not([is-input])) {
                > body-area {
                    padding-bottom:12px;
                }
            }
            
        }
    }
}

input-list {
    display:block;

    & > body-area {
        grid-row-gap: 1px;
        background-color: var(--app-border-color);
        display: grid;
        grid-template-columns: minmax(160px,auto) 1fr;
        row-gap: 1px;
        min-height: 38px;
       
        & > * {
            background-color:#fff;
            padding:15px 20px;
        }
        data-field {
            display:contents;
            & > label-area {
                align-items: center;
                background-color: var(--app-input-label-bg-color);
                color: var(--app-text-color);
                display: flex;
                font-size: 14px;
                font-weight: 600;
                line-height: 1;
                padding: 10px 20px;
            }
            & > body-area {
                background-color: var(--app-page-bg-color);
                padding: 10px 20px 10px 10px;
            }
            &[is-input] {
                 > body-area {
                    padding:1px;
                    background-color:#fff;
                    position:relative;
                    &:has(lookup-launch){
                       input {
                        padding-right:24px;
                       }
                    }
                    lookup-launch {
                        display:block;
                        position: absolute;
                        right:0;
                        padding:6px;
                        opacity: 0.70;
                        cursor:pointer;
                        &:hover {
                            opacity: 1;
                        }
                        app-icon {
                            width:16px;
                            height:16px;
                        }
                    }
                }

            }

            &[input-group] > body-area {
                input,select {
                    width:auto;
                }
                label-area {
                    display:none;
                }
            }
        }
    }
}

left-sidebar-area {
    description-list  > body-area {
        grid-template-columns: auto auto;
    }           
}

flex-row {
    display:flex;
    &[gap-md] {
        gap:30px;
    }
}

left-column {
    display:block;
}

right-column {
    display:block;
}

record-view {
    display:block;
    flex-grow:1;
    overflow-y:hidden;
    overflow-x:hidden;
    padding:20px 30px;
    height:100%; 
    display:flex;
    flex-direction: column;
    background-color:var(--app-page-bg-color);
    & > header-area {
        margin-bottom:20px;
        display:block;
        subtitle-area {
            font-size: 12px;
            min-height: 15px;
            margin-bottom: 0px;
            font-weight: 500;
            letter-spacing: 0.6px;
            color: var(--app-label-color);
            white-space: nowrap;
            line-height: 1.2;
            display:block;
        }
        title-area {
            font-size: 22px;
            font-weight: 580;
            text-decoration: none;
            letter-spacing: -0.22px;
            display: flex;
            align-items: center;
            gap: 8px;
            position:relative;
           
        }
        drop-content {
            margin-top:6px;
            min-width:200px;
        }
        right-column {
            margin-left:auto
        }
        actions-area {
            display:flex;
            align-items: center;
            gap:20px;
            justify-content: flex-end;
        }
        summary-bar {
            justify-content: space-evenly;
            background-color:#fff;
            padding:10px;
            margin-top:15px;
        }

    }
    > tab-area {
        flex-grow:1;
        overflow:hidden;
        margin:-5px;
        padding:5px;
    }
   
    & > body-area {
        margin:-5px;
        padding:5px;
        > line-break {
            display:block;
            height:15px;
        }
    }

    & > body-area > tab-area {
        flex-grow:1;
         overflow:hidden;
         margin:-5px;
         padding:5px;
        > tab-set {
            height:100%;
            display:flex;
            flex-direction: column;
            > tab-contents {
                flex-grow:1;
                overflow-y:auto;
            }
        }
    }

    & > body-area > left-sidebar {
        display:block;
    }

}

dashboard-view {
    display:block;
    flex-grow:1;
    overflow-y:hidden;
    padding:10px 30px 20px 30px;
    display:flex;
    flex-direction: column;
    & > header-area {
        display:block;
        subtitle-area {
            font-size: 12px;
            min-height: 15px;
            margin-bottom: 0px;
            font-weight: 500;
            letter-spacing: 0.6px;
            color: var(--app-label-color);
            white-space: nowrap;
            line-height: 1.2;
            display:block;
        }
        title-area {
            font-size: 22px;
            font-weight: 580;
            text-decoration: none;
            letter-spacing: -0.22px;
            display: flex;
            align-items: center;
            gap: 8px;
            position:relative;
           
        }
        drop-content {
            margin-top:6px;
            min-width:200px;
        }
        right-column {
            margin-left:auto
        }
        actions-area {
            display:flex;
            align-items: center;
            gap:20px;
            justify-content: flex-end;
        }
        summary-area {
            display:block;
            height:140px;
            margin-top:20px;
            margin-top:10px;
            summary-bar {
                height:100%;
            }
        }

    }
    > tab-area {
        flex-grow:1;
        overflow:hidden;
        margin:-5px;
        padding:5px;
       
    }
   
    & > body-area {
        > line-break {
            display:block;
            height:15px;
        }
    }

    & > body-area > tab-area {
        flex-grow:1;
         overflow:hidden;
         margin:-5px;
         padding:5px;
        > tab-set {
            height:100%;
            display:flex;
            flex-direction: column;
            > tab-contents {
                flex-grow:1;
                overflow-y:auto;
            }
        }
    }

    & > body-area > left-sidebar {
        display:block;
    }

}


table-view {
    display: block;
    flex-grow: 1;
    overflow-y: hidden;
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    background-color: var(--app-page-bg-color);
    > header-area {
        display:block;
        margin-bottom:20px;
        subtitle-area {
            font-size: 12px;
            min-height: 15px;
            margin-bottom: 0px;
            font-weight: 500;
            letter-spacing: 0.6px;
            color: var(--app-label-color);
            white-space: nowrap;
            line-height: 1.2;
            display:block;
        }
        title-area {
            font-size: 22px;
            font-weight: 580;
            text-decoration: none;
            letter-spacing: -0.22px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        right-column {
            margin-left:auto
        }
        filters-area {
            display:flex;
            align-items: flex-end;
            gap:30px;
        }
        right-column:has(actions-area) {
            align-self:flex-end;
        }
        summary-bar {
            justify-content: space-evenly;
            background-color:#fff;
            padding:10px;
            margin-top:15px;
        }
    }
    > body-area {
        flex-grow:1;
        overflow-y:auto;
        margin:-5px 0 0 0;
        padding-bottom:40px;
        border-top:solid 5px var(--app-page-bg-color);
    }
    > body-row {
        flex-grow:1;
        overflow:hidden;
        display:flex;
        gap:20px;
        > body-area {
            flex-grow:1;
            height:100%;
            overflow-y:auto;
        }
        > row-actions-area {
            display:flex;
        }
    }

}

[sqx\:page\.layer="embedded"] > body-area {
    > table-view
    {
        padding: 0;
    }
    > record-view {
        padding:0;
    }
}

sqx-frame[layer=embedded] > body-area {
    > table-view

    {
        padding: 0;
    }

    > record-view {
        padding: 0;
    }
}



lookup-view {
    display: block;
    flex-grow: 1;
    overflow-y: hidden;
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    min-width: 600px;
    max-width:100%;
    max-height: 60vh;
    box-shadow: 0px 8px 10px 1px rgba(0, 10, 70, .14), 0px 3px 14px 2px rgba(0, 10, 70, .12), 0px 5px 5px -3px rgba(0, 10, 70, .2);
    border-radius:8px;
    &[dialog-size=medium] {
        min-width:800px;
    }
    &[dialog-size=large] {
        min-width: 960px;
    }
    &[dialog-size="x-large"] {
        min-width: 1200px;
    }
    > header-area {
        display:block;
        margin-bottom:20px;
        subtitle-area {
            font-size: 12px;
            min-height: 15px;
            margin-bottom: 0px;
            font-weight: 500;
            letter-spacing: 0.6px;
            color: var(--app-label-color);
            white-space: nowrap;
            line-height: 1.2;
            display:block;
        }
        title-area {
            font-size: 19px;
            font-weight: 580;
            text-decoration: none;
            letter-spacing: -0.22px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        right-column {
            margin-left:auto
        }
        filters-area {
            display:flex;
            align-items: flex-end;
            gap:30px;
        }
        right-column:has(actions-area) {
            align-self:flex-end;
        }
    }
    > body-area {
        flex-grow:1;
        overflow-y:auto;
        table[data-table] {
            border:solid 1px var(--app-border-color);
        }
    }
    > body-row {
        flex-grow:1;
        overflow:hidden;
        display:flex;
        gap:20px;
        > body-area {
            flex-grow:1;
            height:100%;
            overflow-y:auto;
        }
        > row-actions-area {
            display:flex;
        }
    }

}


row-actions-area {
    display:flex;
    flex-direction: column;
    .action-link {
        color:var(--app-primary-color);
        display:flex;
        align-items: center;
        font-size:13.5px;
        font-weight: 600;
        letter-spacing: 0.2px;
        line-height: 21px;
        padding:5px 0;
        white-space: nowrap;
        text-transform: uppercase;
        app-icon {
            display:block;
            width:20px;
            height:20px;
            margin-right:8px;
            fill:currentColor;
        }
    }
    
}
drop-menu {
    [selection-type=single] {
        opacity: 0.5;
        pointer-events: none;
    }
    [selection-type=many] {
        opacity: 0.5;
        pointer-events:none;
    }
}
drop-menu[selection-type=single] {
    [selection-type=single],[selection-type=many] {
        opacity:1;
            pointer-events:initial;
    }
}
drop-menu[selection-type=many] {
    [selection-type=many] {
        opacity:1;
            pointer-events:initial;
    }

}
[selected-count] {
    row-actions-area {
        [when-any] {
            opacity: 1;
            pointer-events:initial;
        }
    }
}

menu-trigger {
    display:flex;
    align-items: center;
    justify-content: center;
    width:22px;
    height:22px;
    border-radius:0;
    transition: background-color 0.2s;
    cursor:pointer;
    &:hover {
        background-color:var(--app-border-color);
    }
    app-icon {
        width:16px;
        height:16px;
    }
    path {
        d:path("M12,7a2,2,0,1,0-2-2A2,2,0,0,0,12,7Zm0,10a2,2,0,1,0,2,2A2,2,0,0,0,12,17Zm0-7a2,2,0,1,0,2,2A2,2,0,0,0,12,10Z")
    }
}
tr.row[is-selected] {
    menu-trigger:hover {
        background-color:#f8fbff;
    }
}

tab-labels {
    display: flex;
    align-items: center;
    position: relative;
    gap: 25px;
    border-bottom:solid 1px var(--app-border-color);
    margin-bottom:5px;
   
}

tab-label {
    cursor: pointer;
    > div {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 0px 10px 0;
        transition: background-color 0.3s ease 0s;
        border-bottom: 3px solid transparent;
        font-weight: 510;
        line-height: 1;
        font-size: 15.5px;
    }
}

tab-contents {
    display:block;
    height:100%;
    overflow:hidden;
}


[tab-ordinal] {
    display:none;
}
[tab-contents] > [tab-ordinal].is-active {
    display:block;
}

[is-active-bg-color].is-active {
    background-color:#fff;
}

.border-tab {
    border-bottom:solid 2px transparent;
    &.is-active {
        border-bottom:solid 2px var(--app-primary-bg-color);
    }
}


tab-set {
    position:relative;
    display:flex;
    flex-direction: column;
    height:100%;

    & > tab-labels > tab-label.is-active > div {
        border-bottom-color: var(--app-text-color);
    }
   
}


tab-content {
    section-card + section-card {
        margin-top:25px;
    }
}
actions-area {
    display:flex;
    align-items: center;
    gap:20px;
    > a {
        color:var(--app-primary-color);
        display:flex;
        align-items: center;
        font-size:13.5px;
        font-weight: 600;
        letter-spacing: 0.2px;
        line-height: 21px;
        padding:0;
        white-space: nowrap;
        text-transform: uppercase;
        cursor:pointer;

        app-icon {
            display:block;
            width:20px;
            height:20px;
            margin-right:4px;
            fill:currentColor;
        }
        &.create-record, &[button-type=create]{
            background-color:var(--app-primary-bg-color);
            color:#fff;
            border-radius:3px;
            padding:6px 12px;
            text-transform:none;
            > label-area {
                font-size:15px;
            }
        }
        &.search, &[button-type=search] {
            color:var(--app-text-color);
            border-radius:3px;
            padding:6px 12px;
            text-transform:none;
            border:solid 1px var(--app-border-color);
            > label-area {
                font-size:15px;
            }
            &:hover {
                background-color:var(--app-border-color);
            }
        }
        &.outline, &[button-type=outline] {
            color:var(--app-text-color);
            border-radius:3px;
            padding:6px 12px;
            text-transform:none;
            border:solid 1px var(--app-border-color);
            > label-area {
                font-size:15px;
            }
            &:hover {
                background-color:var(--app-border-color);
            }
        }
        
    }
}

a[button-type=outline] {
    display: flex;
    align-items: center;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 21px;
    white-space: nowrap;
    cursor: pointer;
    color: var(--app-text-color);
    border-radius: 3px;
    padding: 6px 12px;
    text-transform: none;
    border: solid 1px var(--app-border-color);
    app-icon {
        display:block;
        width:20px;
        height:20px;
        margin-right:4px;
        fill:currentColor;
    }
   
    > label-area

    {
        font-size: 15px;
    }

    &:hover {
        background-color: var(--app-border-color);
    }

}

dialog-cover {
    display: block;
    opacity: 1;
    z-index: 0;
    background-color: rgb(0 46 92 / 15%);
    transition: opacity .35s;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    pointer-events:auto;
}

dialog-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    z-index: 100;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    pointer-events:auto;
}
#appsql-app {
    
    dialog-cover, dialog-content
    {
        height: var(--app-canvas-height);
        left: var(--app-canvas-left);
        width: var(--app-canvas-width);
        top: var(--app-canvas-top);
    }
}
body[is-design] {
    #appsql-app {
        margin-right:20px;
    }
}

body:has(studio-panel) {
    dialog-content {
        justify-content: flex-start;
    }
}

error-area {
    color:var(--app-text-color-danger);
    font-size:14.5px;
    font-weight: 480;
    display:block;
    &:empty {
        display:none;
    }
}

form.action-form {
    display:flex;
    min-width:540px;
    max-width: 100%;
    max-height: 100%;
    flex-direction: column;
    &[dialog-size=medium] {
        min-width:800px;
    }
    &[dialog-size=large] {
        min-width: 960px;
    }
    &[dialog-size="x-large"] {
        min-width: 1200px;
    }
    
    p {
        font-size:14.5px;
    }

    > header-area {
        display:block;
        background-color: #fff;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        box-shadow: 0 1px 3px #e0e6e8;
        padding: 25px 60px 25px 25px;
        position: relative;
        title-area {
            align-items: center;
            display: flex;
            font-size: 17px;
            font-weight: 500;
            gap:8px;
        }
    }
    > body-area {
        flex-grow: 1;
        overflow-y:auto;
        display:flex;
        flex-direction: column;
        gap:15px;
        background-color:var(--app-page-bg-color);
        padding:15px 30px;

        > data-field[is-input] > label-area {
            padding-bottom:3px;
            font-size:13px;
        }
    }
    > footer-area {
        display: flex;
        gap: 15px;
        justify-content: flex-end;
        background-color: var(--app-page-bg-color);
        padding:25px;
    }
}

form.studio-form {
    display:flex;
    max-width: 100%;
    flex-direction: column;
    height:100%;

    &[dialog-size=medium] {
        min-width:800px;
    }
    &[dialog-size=large] {
        min-width: 960px;
    }
    &[dialog-size="x-large"] {
        min-width: 1200px;
    }
    
    p {
        font-size:14.5px;
    }

    > header-area {
        display:block;
        padding:20px 25px 10px 25px;
        position: relative;
        border-bottom:solid 1px var(--app-text-color);
        title-area {
            align-items: center;
            display: flex;
            font-size: 22px;
            font-weight: 580;
            gap:8px;
        }
    }
    > body-area {
        flex-grow: 1;
        overflow-y:auto;
        display:flex;
        flex-direction: column;
        gap:15px;
        background-color:var(--app-page-bg-color);
      
        > data-field[is-input] > label-area {
            padding-bottom:3px;
        }
    }
    > footer-area {
        display: flex;
        gap: 15px;
        justify-content: flex-end;
        background-color: var(--app-page-bg-color);
        padding:15px 25px;
    }
}

button.submit-button , input.submit-button{
    display:flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.15px;
    text-transform: uppercase;
    background-color: var(--app-primary-bg-color);
    border-color: var(--app-primary-border-color);
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 12px;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    &[destructive] {
        background-color: var(--app-destructive-bg-color);
        border-color: var(--app-destructive-border-color);
    }
}

button[button-type=apply] {
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.15px;
    text-transform: uppercase;
    background-color: var(--app-text-color);
    border-color: var(--app-text-color);
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 12px;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
}

button.cancel-button, input.cancel-button {
    display:flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.15px;
    text-transform: uppercase;
    color:var(--app-text-color);
    font-size: 14px;
    font-weight: 600;
    padding: 10px 12px;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    &:hover {
        background-color:#e7ebef;
    }
}
input.cancel-button {
    background-color: transparent;
    border:solid 1px var(--app-border-color);
    padding:4px 0;
}
button.search-button {
    display:flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.15px;
    text-transform: none;
    background-color: var(--app-border-color);
    border-radius: 3px;
    font-size: 13.5px;
    font-weight: 500;
    padding:10px 15px;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
}


table[data-table] {
    width:100%;
    border-collapse:separate;
    border-spacing:0;

    > thead {
        position:sticky;
        top:0;
        z-index:10;
        > tr {
            > th {
                background-color:var(--app-header-bg-color);
                font-size:14px;
                font-weight:610;
                
                text-align: left;
                vertical-align: bottom;
                border-left:solid 1px #fff;
                > div
                {
                    padding: 6px 18px;
                    &[select-all],&[clear-selection] {
                        padding:10px 16px;
                    }
                }
                &:first-child {
                    border-left:none;
                }
                &[shrink]{
                    width:50px;
                }
                &.text-right {
                    text-align:right;
                }
            }
        }
    }
    div[clear-selection] {
        display:none;
    }
    div[select-all] {
        display: block;
    }
    &:has(tr[is-selected]) thead {
        div[clear-selection] {
            display:block;
        }
        div[select-all] {
            display:none;
        }
    }
    > tbody {
        > tr.row {
            cursor:pointer;

            > td {
                background-color:#fff;
                border-top:1px solid var(--app-border-color);
                border-left:1px solid var(--app-border-color);
                font-size:14.5px;
                padding:8px 18px;
                white-space: nowrap;
                &:first-child {
                    border-left:none;
                }
                &:has(> spacer-row){
                    border-top:none;
                    background-color:var(--app-page-bg-color);
                }
                &:has(> a.action-link){
                    padding:3px 18px;
                }
                > a[button-type=outline] {
                    padding:4px 12px;
                    label-area {
                        font-size:14px;
                    }
                    app-icon {
                        width:16px;
                        height:16px;
                    }
                }
                > spacer-row {
                    display:block;
                }
                &[row-selector] {
                    width:10px;
                    padding-right:6px;

                    menu-trigger {
                        opacity:0.2;
                        &:hover {
                            opacity:1;
                        }
                    }
                }
                &[row-selector] > div {
                    display:flex;
                    align-items:center;
                    gap:10px;
                }
                a:hover {
                    text-decoration:underline;
                }
            }
            &:first-child > td {
                border-bottom:none;
            }
            &:hover > td {
                background-color:#f8f9fa;
            }
            &[is-selected] > td {
                background-color:#d1e2fb
            }
           
        }
        > tr.table-group-header {
          

            > td {
                background-color:#fff;
                border-bottom:1px solid var(--app-border-color);
                border-left:1px solid var(--app-border-color);
                font-size:14.8px;
                padding:8px 18px;
                white-space: nowrap;
                &:first-child {
                    border-left:none;
                }
            }
            &:last-child > td {
                border-bottom:none;
            }
           
        }
        > tr.table-group-spacer {
            > td {
                height:8px;
            }
        }
        > tr.table-group-footer {
         

            > td {
                border-top:2px solid var(--app-border-color);
                background-color:#fff;
                font-size:14.5px;
                padding:8px 18px;
                white-space: nowrap;
            }
           
        }
    }
    
}

column-check {
    display:flex;
    justify-content:center;
}

summary-bar {
    display:flex;
    align-items: flex-start;
    column-gap:40px;
    flex-wrap: wrap;
    row-gap:5px;

    > data-field > label-area {
        font-size:12px;
        text-align: center;   
    }

    > data-field > body-area {
        font-size:17.6px;
        font-weight: 600;
        justify-content: center;
        white-space: nowrap;
        a {
            app-icon {
                width:18px;
                height:18px;
            }
        }
    }
    > line-break {
        width:100%;
        height:5px;
        background-color:var(--app-page-bg-color);
        margin:5px 0;
    }
}

data-field[is-filter] {
    label-area {
        font-size:13.5px;
        letter-spacing: 0.35px;
        margin-bottom:3px;
        color:var(--app-text-color);
    }
    body-area {
        background-color:#fff;
        border:1px solid var(--app-border-color);
        position:relative;
    }
    &:has(field-error) body-area {
        border-color:#ec4f41
    }
    input {
        font-size:15px;
        padding:8px;
        color:#e17302;
        font-weight: 520;
        line-height: 1;
        width:100%;
        padding:8px 22px 8px 8px;
        &::placeholder {
            font-weight:400;
            font-size:93%;
            letter-spacing:0.3px;
            color:rgb(19 50 75 / 65%)
        }
    }
    input-clear {
        display:block;
        position: absolute;
        right:0;
        top:8px;
        padding:4px;
        opacity: 0.20;
        cursor:pointer;
        &:hover {
            opacity: 1;
        }
        app-icon {
            width:16px;
            height:16px;
        }
    }
}

.scrollbars,[scroll-self] > body-area {
    &::-webkit-scrollbar {
        width: 8px;
        height:8px;
    }
    
    &::-webkit-scrollbar-thumb {
        background: #c8cbd8;
        border-radius: 20px;
    }
    
    &::-webkit-scrollbar-track {
        background: transparent;
    }
}

drop-menu {
    display: block;
    &.hide-unless-open
    {
        display: none;
        &.is-open {
            display: block;
        }
    }
    > drop-trigger {
        display:block;
        cursor:pointer;
    }

    
   
    > drop-content {
        display:none;
        position:absolute;
        z-index:8000;   
        &[align-right]{
            right:0;
        }
    }

    > drop-positioner {
        display:none;
    }

    > drop-positioner > drop-content {
        position:absolute;
        z-index:8000;   
        &[align-right]{
            right:0;
        }
    }

    drop-content {
        white-space: nowrap;
        background-color: #fff;
        border-radius: 6px;
        border: solid 2px var(--app-border-color);
        font-size: 14px;
        font-weight: 400;
        box-shadow: 0px 8px 10px 1px rgba(0, 10, 70, .14), 0px 3px 14px 2px rgba(0, 10, 70, .12), 0px 5px 5px -3px rgba(0, 10, 70, .2);
    }
   
    > drop-content, > drop-positioner > drop-content {
        > a, > a[button-type=outline] {
            display: flex;
            align-items: center;
            padding: 12px 15px;
            line-height: 1;
            cursor: pointer;
            gap: 6px;
            border:none;
            > app-icon

            {
                margin-top: -1px;
                width: 16px;
                height: 16px;
            }

            &:hover {
                background-color: #f1f6fb;
            }

            app-icon {
                width: 16px;
            }

        }
    }
    > drop-positioner[pos-static] {
        position:static;
    }
    &.is-open > drop-content, &.is-open > drop-positioner {
        display:block;
    }
    &[focus-trigger]:focus-within > drop-positioner {
        display:block;
    }
}

.filter-hidden {
    display:none !important;
}

[is-hidden] {
    display:none !important;
}

value-badge {
    display:inline-flex;
    align-items: center;
    border-radius: 99px;
    color:var(--app-text-color);
    font-size:13px;
    justify-content: center;
    line-height: 1;
    font-weight: 500;
    padding:4px 10px;
    &:empty {
        width:12px;
        height:12px;
        padding:0;
    }

    &[color="bright-blue"] {
        background-color:#2d7ff9;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-cyan"] {
        background-color:#18bfff;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-green"] {
        background-color:#20c933;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-red"] {
        background-color:#f82b60;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-teal"] {
        background-color:#20d9d2;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-yellow"] {
        background-color:#fcb400;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-orange"] {
        background-color:#ff6f2c;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-pink"] {
        background-color:#ff08c2;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-purple"] {
        background-color:#8b46ff;
        color:#fff;
        font-weight: 550;
    }
    &[color="bright-gray"],&[color="bright-grey"] {
        background-color:#a3abb4;
        color:#fff;
        font-weight: 550;
    }
    &[color="blue"] {
        background-color:#cfdfff;
        color:#102046;
        font-weight: 550;
    }
    &[color="cyan"] {
        background-color:#d0f0fd;
        color:#04283f;
        font-weight: 550;
    }
    &[color="teal"] {
        background-color:#c2f5e9;
        color:#012524;
        font-weight: 550;
    }
    &[color="green"] {
        background-color:#d1f7ce;
        color:#0b1d05;
        font-weight: 550;
    }
    &[color="yellow"] {
        background-color:#ffeab6;
        color:#3b2501;
        font-weight: 550;
    }
    &[color="orange"] {
        background-color:#fee2d5;
        color:#6b2613;
        font-weight: 550;
    }
    &[color="red"] {
        background-color:#ffdce5;
        color:#4c0c1c;
        font-weight: 550;
    }
    &[color="pink"] {
        background-color:#ffdaf6;
        color:#400832;
        font-weight: 550;
    }
    &[color="purple"] {
        background-color:#ede2fe;
        color:#280b42;
        font-weight: 550;
    }
    &[color="gray"],&[color="grey"]{
        background-color:#eee;
        color:#040404;
        font-weight: 550;
    }
}
summary-bar value-badge {
    font-size:15px;
    margin-top:2px;
    min-height:27px;
}
td > .value-suffix {
    margin-left:3px;
    font-size:90%;
}

inline-frame {
    display:block;
    page-container {
        overflow:initial;
    }
}


config-panel {
    display:flex;
    flex-direction:column;
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:350px;
    background-color:#fff;
    padding:20px 0;
    &:empty {
        display:none;
    }
    &:has(form[is-editing]){
        .footer-area {
            display:none;
        }
    }
}

.config-launch {
    margin-left:8px;
    &:first-child {
        margin-left:0;
    }
    display:none;
    cursor:pointer;
    opacity:0.85;
    &:hover {
        opacity: 1;
        config-icon {
            opacity:1;
        }
    }
}
config-icon {
    opacity: 0.5;
    
    
    app-icon {
        width:14px;
        height:14px;
        fill:currentColor;
    }
    path {
        d:path("M19.9 12.66a1 1 0 0 1 0-1.32l1.28-1.44a1 1 0 0 0 .12-1.17l-2-3.46a1 1 0 0 0-1.07-.48l-1.88.38a1 1 0 0 1-1.15-.66l-.61-1.83a1 1 0 0 0-.95-.68h-4a1 1 0 0 0-1 .68l-.56 1.83a1 1 0 0 1-1.15.66L5 4.79a1 1 0 0 0-1 .48L2 8.73a1 1 0 0 0 .1 1.17l1.27 1.44a1 1 0 0 1 0 1.32L2.1 14.1a1 1 0 0 0-.1 1.17l2 3.46a1 1 0 0 0 1.07.48l1.88-.38a1 1 0 0 1 1.15.66l.61 1.83a1 1 0 0 0 1 .68h4a1 1 0 0 0 .95-.68l.61-1.83a1 1 0 0 1 1.15-.66l1.88.38a1 1 0 0 0 1.07-.48l2-3.46a1 1 0 0 0-.12-1.17ZM18.41 14l.8.9-1.28 2.22-1.18-.24a3 3 0 0 0-3.45 2L12.92 20h-2.56L10 18.86a3 3 0 0 0-3.45-2l-1.18.24-1.3-2.21.8-.9a3 3 0 0 0 0-4l-.8-.9 1.28-2.2 1.18.24a3 3 0 0 0 3.45-2L10.36 4h2.56l.38 1.14a3 3 0 0 0 3.45 2l1.18-.24 1.28 2.22-.8.9a3 3 0 0 0 0 3.98Zm-6.77-6a4 4 0 1 0 4 4 4 4 0 0 0-4-4Zm0 6a2 2 0 1 1 2-2 2 2 0 0 1-2 2Z");
    }
    &.icon-close {
        path {
            d:path("M13.41,12l4.3-4.29a1,1,0,1,0-1.42-1.42L12,10.59,7.71,6.29A1,1,0,0,0,6.29,7.71L10.59,12l-4.3,4.29a1,1,0,0,0,0,1.42,1,1,0,0,0,1.42,0L12,13.41l4.29,4.3a1,1,0,0,0,1.42,0,1,1,0,0,0,0-1.42Z")
        }
    }
}
page-container.enable-config {
    .config-launch {
        display:flex;
    }
}
actions-area + config-icon {
    margin-left:0;
}
.collapsible-container {
    > .when-collapsed {
        display:none;
    }
    > div > .when-collapsed {
        display:none;
    }
    &[is-collapsed] {
        > .when-expanded {
            display:none;
        }

        > .when-collapsed {
            display: unset;
        }
        > div > .when-expanded {
            display:none;
        }

        > div > .when-collapsed {
            display: unset;
        }
    }
    
}
.hover-600:hover {
    font-weight:600;
}
field-icon {
    display:block;
    app-icon {
        width:16px;
        height:16px;
        fill:currentColor;
    }
}

.card-placeholder {
    display:none;
}
*:empty + .card-placeholder {
    display: contents;
}

.scroll-gradient {
    background: 
      linear-gradient(#ffffff 33%, rgba(255,255,255, 0)),
      linear-gradient(rgba(255,255,255, 0), #ffffff 66%) 0 100%,
      radial-gradient(farthest-side at 50% 0, rgba(102,102,102, 0.5), rgba(0,0,0,0)),
      radial-gradient(farthest-side at 50% 100%, rgba(102,102,102, 0.5), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-attachment: local, local, scroll, scroll;
    background-size: 100% 24px, 100% 24px, 100% 5px, 100% 5px;
  }

  .RT-Stackable-Container__closetab.stackable-appsql{
    background-color: var(--app-page-bg-color);
  }

  selected-row-count {
    display:block;
    visibility: hidden;
    align-items: center;
    white-space: nowrap;
    &[selected-count] {
        visibility:visible;
        &::before {
            content:attr(selected-count);
            font-weight: 650;
        }
    }
    [when-one]{
        display:none;
    }
    &[selected-count="1"] {
        [when-many] {
            display:none;
        }
        [when-one] {
            display:inline;
        }
    }
    
  }

  system-error {
    position:fixed;
    display:block;
    background-color:var(--app-page-bg-color);
    padding:30px 60px 30px 30px;

    top:0;
    left:0;
    right:0;
    z-index:60000;
    border-bottom:solid 3px var(--app-destructive-bg-color);
    
    &:empty {
        display:none;
    }
  }

  activity-feed {
    display:flex;
    flex-direction: column;
    gap:5px;
    padding-right:10px;
  }


  activity-set {
      > actions-area {
        margin-bottom:15px;
      }
      > body-area {
        display:flex;
        flex-direction:column;
        gap:25px;
      }
  }
  activity-message {
    display:block;
    letter-spacing: 0.25px;
    > body-area {
        display:block;
        padding-left:40px;
        section-heading {
            display:block;
            font-size:15.2px;
            font-weight: 550;
            margin-bottom:8px;
            value-badge {
                margin-left:8px;
            }
        }
        flex-row {
            gap:30px;
            margin-bottom:5px;
            background-color:#fff;
            padding:10px 20px;
        }
        a {
            color:var(--app-primary-color);
            cursor:pointer;
            font-weight: 560;
            &:hover {
                text-decoration: underline;
            }
        }
    }
    > header-area {
        display:flex;
        align-items: center;
        font-weight:470;
        margin-bottom: 15px;
        gap:10px;
        bullet-sep {
            margin-left:6px;
            margin-right:6px;
        }
        .activity-icon {
            width: 30px;
            height:30px;
            background-color:var(--app-header-bg-color);
            border-radius:99px;
            display:flex;
            align-items:center;
            justify-content:center;
            app-icon {
                width:18px;
                height:18px;
                opacity:0.6;
            }
        }
        
    }
    > footer-area {
        display:flex;
        align-items:center;
        justify-content:flex-end;
        margin-top:10px;
        gap:15px;
        padding-left:40px;
        .created-at {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1px 14px;
            background-color: var(--app-header-bg-color);
            border-radius: 99px;
            white-space:nowrap;
        }
        .user-name {
            font-size:85%;
            font-weight:600;
        }
        user-initials {
            width: 22px;
            height: 22px;
            background-color: #8395a7;
            color: #fff;
            display: flex;
            line-height: 1;
            align-items: center;
            justify-content: center;
            border-radius: 99px;
            margin-right: 5px;
            font-weight: 500;
        }
    }
    > div > title-area {
        display:flex;
        align-items:center;
        gap:25px;
        margin-bottom:5px;
        font-size:16px;
        font-weight:620;
    }
  }



  bullet-sep {
    display:inline-block;
    &::after {
        content:'\2022'
    }
  }

  note-list {
    display:flex;
    flex-direction: column;
    padding-right:10px;
    > actions-area {
        margin-bottom:25px;
    }
    > body-area {
        gap:15px;
        display:flex;
        flex-direction: column;
    }
  }

  note-message {
    display:block;
    letter-spacing: 0.25px;
    > title-area {
        display:flex;
        font-size:15.2px;
        font-weight: 550;
        margin-bottom:8px;
        > actions-area {
            margin-left:auto;
            align-self:flex-end;
        }
      }
    > body-area {
        display:block;
        background-color:#fff;
        padding:8px 20px;
     }
     > footer-area {
        margin-top:2px;
        display:flex;
        align-items: center;
        justify-content: flex-end;
        font-size:12.5px;
        font-weight:470;
        bullet-sep {
            margin-left:6px;
            margin-right:6px;
        }
     }
  }
 

text-card {
    display:block;
    > body-area {
        display:flex;
        padding:10px 20px;
        gap:5px 25px;
        flex-wrap:wrap;

        > line-break,br {
            height:0;
            width:100%;
        }
    }
  
}

radio-tabs {
    display:block;
    > labels-area {
        display:flex;
        align-items: center;
        gap:15px;
        margin-bottom:20px;
        > div {
            display:flex;
            align-items: center;
        }
        label {
            margin-bottom:0;
            font-size:14px;
            line-height: 1;
            padding:5px;
            display:flex;
            align-items:center;
            gap:5px;
            margin-top:0;
        }
    }
    > body-area {
        display:block;
    }
    &.shaded-lg > labels-area > div {
        background-color:var(--app-page-bg-color);
        border-radius:5px;
        padding:10px 20px;
        border:solid 2px transparent;
        &.is-active {
            border-color:var(--app-header-bg-color)
        }
    } 
    &.centered > labels-area {
        justify-content:center;
    }
    &.centered > body-area {

    }
}

layer-container {
    display:contents;
    > layer-body {
        display:block;
        position:relative;
        height:100%;
        z-index:1;
        &:has(> [is-stack]) {
            
            > horizontal-sizer  {
                position:absolute;
                display:none;
                top:0;
                left:0;
                width:12px;
                bottom:0;
                cursor:ew-resize;
                border-left:solid 2px var(--app-header-bg-color);
                z-index:5;
            }
        }
       
    }
    
    > layer-child-area {
        &:empty {
            display:none;
        }

    }
    > layer-child-area{
        position:absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        pointer-events:none;
        z-index:10;
    }
   
    layer-controls {
        display:none;
    }
    layer-controls[is-stack] {
        display:flex;
        position:absolute;
        pointer-events:all;
        left:8px;
        top:18px;
        align-items: center;
        z-index:50;
        .layer-close {
            padding:8px;
            cursor: pointer;
            background-color:#fff;
            border-radius:99px;
             box-shadow: 0px 8px 10px 1px rgba(0, 10, 70, .14), 0px 3px 14px 2px rgba(0, 10, 70, .12), 0px 5px 5px -3px rgba(0, 10, 70, .2);
            app-icon {
                width:20px;
                height:20px;
                fill:currentColor;
            }
        }
    }
   
}

workspace-tabs {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    > sidebar-area {
        display:flex;
        flex-direction:column;
        white-space:nowrap;
        > title-area

        {
            font-size: 18px;
            font-weight: 620;
            padding: 10px 25px 10px 25px;
            background-color: #fff;
        }
        > labels-area {
            display: flex;
            flex-direction: column;
            padding: 20px 10px;
            background-color: #fff;
            flex-grow: 1
        }
        
    }
    > body-area {
        flex-grow: 1;
        position: relative;
        overflow:hidden;
    }
}
.workspace-tab, workspace-tabs > labels-area .action-link {
    padding:8px 25px;
    border-radius: 6px;
    display:flex;
    align-items: center;
    gap:10px;
    &.is-active {
        background-color:var(--app-active-nav-bg-color);
        font-weight: 630;
    }

    icon-area app-icon {
        width:16px;
        height:16px;
        fill:currentColor;
    }
    label-area {
        font-size:14px;
        font-weight: 550;
        display:flex;
        align-items:center;
        flex-grow:1;
    }
}

workspace-tabs > labels-area .is-active .action-link {
    background-color: var(--app-active-nav-bg-color);
    font-weight: 630;
}

icon-area app-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

label-area {
    font-size: 14px;
    font-weight: 550;
    display: flex;
    align-items: center;
    flex-grow: 1;
}


bullet-separator {
    display:inline-block;
    margin-left:3px;
    margin-right:3px;
    &::after {
        content:'\2022'
    }
}
drop-trigger {
    display:block;
}

note-row {
    display:flex;
    gap:18px;
    align-items: center;
    background-color:var(--app-page-bg-color);
   
    padding:6px 0px;
    > value-badge {
        font-size:10px;
        text-transform: uppercase;
        min-width:80px;
    }
    > body-area {
        display:block;
        font-size:13.5px;
        font-weight: 480;
        flex-grow:1;
        white-space:pre-wrap;
        label-area {
            display:block;
            white-space: nowrap;
            font-size:10px;
            text-transform: uppercase;
            font-weight: 620;
            line-height: 1.15;
            color:var(--app-label-color);
        }
    }
}

td > note-row {
    margin:-8px -18px;
    padding:6px 18px;
}
.CodeMirror {
    height: 100%;
    font-size:13.5px;
    font-weight:480;
    font-family: 'Source Code Pro';

    .CodeMirror-linenumber{
        color: var(--app-text-color);
    }

    .CodeMirror-gutters {
        background-color: var(--app-header-bg-color);
    }
    pre.CodeMirror-line, pre.CodeMirror-line-like {
        padding: 0 12px;
    }

}

.studio-catalog-explorer {
    [draggable]:hover {
        background-color: #ddedfd;
    }
}
#studio-handle-icon {
    background-color:var(--app-text-color);
    app-icon {
        fill:#fff;
    }
    &:hover {
        background-color: rgb(81 92 101);
    }
}
studio-panel {

    position:absolute;
    bottom:0;
    left:0;
    right:0;
    max-height:60vh;
    display:flex;
    flex-direction: column;
    p {
        font-size:14.5px;
    }
    form {
        flex-grow:1;
        overflow-y:hidden;
        display:flex;
        flex-direction: column;
        > header-area {
            display:block;
            background-color: #fff;
            border-top-left-radius: 0;
            border-top-right-radius: 0;
            box-shadow: 0 1px 3px #e0e6e8;
            padding: 10px 60px 10px 25px;
            position: relative;
            z-index:10;
            & > title-area {
                align-items: center;
                display: flex;
                font-size: 17px;
                font-weight: 500;
            }
        }
        > body-area {
            flex-grow: 1;
            overflow-y:hidden;
            display:flex;
            gap:15px;
            background-color:var(--app-page-bg-color);
            padding:15px 30px;

            code-editor {
                flex-grow:1;
            }
        }
        > footer-area {
            display: flex;
            gap: 15px;
            justify-content: flex-end;
            background-color: var(--app-page-bg-color);
            padding:15px 25px 15px 25px;
        }
    }
}


page-notification-bar {
    display:block;
}

body:has(> page-notification-bar:empty) {
    > page-notification-bar {
        display: none;
    }
}

#studio-editor-container {
    position: absolute;
    height: var(--studio-height);
    bottom: 0;
    left: 0;
    right: 0;
    border-top: solid 2px rgb(203 219 233);
    font-size: 14px;
    z-index: 100;
}

body:has(#studio-editor:empty){
    #app-area {
        bottom:0;
    }
    #studio-editor-container
    {
        display: none;
    }
}



tab-table {
    display:flex;
    overflow: hidden;
    flex-direction: column;
    > actions-area {
        justify-content: flex-end;
        padding-bottom:10px;
    }
    > body-area {
        display:block;
        overflow-y:auto;
    }
}




form-load-error {
    display:block;
    background-color:var(--app-page-bg-color);
    .action-link {
        color:var(--app-primary-color);
        text-transform: uppercase;
        font-weight: 600;
        font-size:14px;
        cursor:pointer;
    }
}

dialog-content > form-load-error {
    min-width:400px;
}

form-not-found {
    display:block;
    background-color:var(--app-page-bg-color);
    .action-link {
        color:var(--app-primary-color);
        text-transform: uppercase;
        font-weight: 600;
        font-size:14px;
        cursor:pointer;
    }
}
.actions-as-buttons {
    .action-link
    {
        display: flex;
        align-items: center;
        justify-content: center;
        letter-spacing: 0.15px;
        text-transform: uppercase;
        background-color: var(--app-primary-bg-color);
        border-color: var(--app-primary-border-color);
        border-radius: 3px;
        color: #fff;
        font-size: 13.5px;
        font-weight: 500;
        padding: 10px 12px;
        user-select: none;
        vertical-align: middle;
        white-space: nowrap;
        cursor:pointer;
    }
}
dialog-content > form-not-found {
    min-width:480px;
    max-width: 100%;
}

source-code-block {
    display:block;
    border:solid 2px var(--app-border-color);
    padding-right:20px;
    background-color:#fff;

    source-code-line {
        display:flex;
        align-items: center;
        gap:6px;
        font-family: 'Red Hat Mono';
        font-size:14px; 
        .line-number {
            background-color:var(--app-header-bg-color);
            font-weight: 550;
            width:46px;
            text-align: right;
            padding:0 8px;
        }
    }
    pre {
        font-family: 'Red Hat Mono';
        font-size:14px; 
    }
    .error-line {
        pre {
            text-decoration-style: wavy;
            text-decoration-thickness: 1px;
            text-decoration-color: var(--app-destructive-bg-color);
            text-decoration-line: underline;
        }
        font-weight: 600;
        .line-number {
            font-weight: 700;
            color:var(--app-destructive-bg-color);
            background-color: #fdefee;
        }
    }
}

tally-str {
    display:block;
    span[v-pcs] {
        font-weight:570;
        margin-right:2px;
    }
    span + span[v-pcs] {
        margin-left:5px;
    }
}

value-bar {
    display:flex;
    align-items:center;
    gap:15px;
    > div
    {
        background-color: #f4a462;
        height: 12px;
        border-radius: 4px;
    }
}

page-view > body-area {
    white-space: pre-line;
    background-color: var(--app-page-bg-color);
    padding: 30px 50px;
    display: block;
    height: 100%;
    overflow: auto;
}
text-elem,.text-elem {
    display:block;
    
    text-elem, .text-elem
    {
        display: inline-block
    }
    > h1 {
        font-size:32px;
        font-weight:600;
        display:inline-block;
    }
    > h2 {
        font-size:22px;
        font-weight:550;
        display:inline-block;
    }
    > h3 {
        font-size:18px;
        font-weight:550;
        display:inline-block;
    }
    code {
        font-family:'Source Code Pro';
        display:inline-block;
        padding:0 4px;
        border-radius:4px;
        font-weight:550;
        font-size:13.5px;
        border:solid 1px var(--app-border-color);
        background-color:#fefeff;
    }
    a {
        color: var(--app-primary-color);
        cursor: pointer;
    }
}


form-content {
    white-space:normal;
}
nav {
    padding-top:30px;
    background-color:#fff;
    a{
        display: block;
        padding: 8px 25px;
        border-radius: 6px;
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14.5px;
        font-weight: 550;
        > app-icon  {
            width: 20px;
            height: 20px;
            fill: currentColor;
        }
    }
}

article {
    display:block;
    background-color:#fff;
    padding:10px 25px 0 25px;
    border:solid 1px var(--app-border-color);
    border-radius:6px;
    > title-area {
        display:block;
        a {        
            font-size: 20px;
            font-weight:500;
            color:currentColor;
        }
        
    }
    > body-area {
        display:block;
        padding-top:5px;
        padding-bottom:10px;
    }
    > footer-area {
        display:block;
        border-top:solid 1px var(--app-border-color);
        margin:0 -25px;
        padding:8px 25px;
        color:var(--app-label-color);
        font-size:13px;
    }
}
article-list {
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:10px 0;
}

timeline-list {
    > actions-area {
        margin-bottom:15px;
        justify-content:flex-end;
    }
    > body-area {
        display:grid;
        grid-template-columns:auto auto 1fr;
        grid-auto-rows:min-content;
        column-gap:20px;
        padding-bottom:10px;
        timeline-entry {
            display:contents;
            > header-area {
                display:block;
                padding:8px 10px 15px 0;
                text-align:right;
                font-weight:440;
                bullet-sep {
                    opacity:0.5;
                }
            }
            > body-area {
                display:block;
                margin-bottom:15px;
                background-color:#fff;
                padding:10px 15px;
                display:flex;
                flex-direction:column;
                gap:5px;
                title-area {
                    display:block;
                    font-weight:550;
                }
            }
                
            > div.marker {
                top:5px;
                position:relative;
                border-left:solid 2px var(--app-header-bg-color);
                padding-right:10px;
                > div  {
                    width: 30px;
                    height: 30px;
                    background-color: var(--app-header-bg-color);
                    border-radius: 99px;
                    position: absolute;
                    left: -16px;
                    top: 0;
                    display:flex;
                    align-items:center;
                    justify-content:center;
                    app-icon {
                        width: 18px;
                        height: 18px;
                        opacity:0.6;
                    }
                }
           
            }
            &:last-child > div.marker {
                border-color:transparent;
            }
        }
    }
}

[scroll-self] {
    display: flex;
    flex-direction:column;
    height:100%;
    overflow:hidden;
    > body-area {
        flex-grow:1;
        overflow-y:auto;
    }
}

.ace_editor {
    font-family:'Source Code Pro','Sans Serif Collection';
    font-size:13.5px;
    font-weight:480;
}
.ace-tm {
    .ace_gutter {
        background-color:var(--app-page-bg-color);
        color:var(--app-text-color);
    }
.ace_keyword {
    color: rgb(71 90 107);
    font-weight: 550;
}
.ace_string {
    color: #007cd7;
    font-weight: 520;
}
    .ace_constant.ace_language {
        color: #027ab5;
        font-weight: 600;
    }
    .ace_storage {
        color: var(--app-text-color);
        font-weight: 600;
    }
    .ace_marker-layer .ace_active-line {
        background-color: rgb(209 232 255 / 28%);
    }
    .ace_gutter-active-line {
        background-color: #d1e8ff;
    }
    .ace_support.ace_function {
        color: #c58a01;
        font-weight:510
    }
}
.ace_scrollbar-v {
    &::-webkit-scrollbar {
        width: 8px;
    }
    
    &::-webkit-scrollbar-thumb {
        background: #c8cbd8;
        border-radius: 20px;
    }
    
    &::-webkit-scrollbar-track {
        background: transparent;
    }
}
.ace_scrollbar-h {
    &::-webkit-scrollbar {
        height: 8px;
    }
    
    &::-webkit-scrollbar-thumb {
        background: #c8cbd8;
        border-radius: 20px;
    }
    
    &::-webkit-scrollbar-track {
        background: transparent;
    }
}
studio-column-chooser {
    display:block;
    .is-active
    {
        background-color: var(--app-active-nav-bg-color);
    }
}

div[line-start] {
    border:solid 1px transparent;
    cursor:pointer;
    &.is-active
    {
        border: solid 1px #8bbae9;
        background-color: #ddedfd;
    }
}
.designer-drop-zone {
    display:none;
    &[is-design] {
        display:block;
        height:30px;
        border:dashed 2px var(--app-border-color);
        margin-bottom:5px;
    }
}
section-card[is-design] {
    padding-left:16px;
}
section-card[is-design] > section-title-row {
    padding-top:10px;
}
table[data-table] > thead > tr > th[is-design] > div{
    border-bottom:solid 15px var(--app-page-bg-color);
    padding-bottom:14px;
}
table[data-table] > thead > tr.show-for-design {
    display:none;
}
table[data-table][is-design] > thead > tr.show-for-design {
    display:unset;
}

tab-label[is-design]{
    padding:3px 5px 35px 5px;
    margin-bottom:-20px;
}

hide-design {
    display:contents;
    &[is-design]{
        display:none;
    }
}

show-design {
    display:none;
    &[is-design] {
        display:contents;
    }
}

#studio-panel {
    display:none;
}
body[is-design] {
    #studio-panel {
        display:block;
    }
}
designer-toolbar {
    display:none;
    &[is-design] {
        display:flex;
    }
}

welcome-banner {
    display:block;
    padding:40px;
    background-color:#b7c9fb;
    border-radius:8px;
    h2 {
        font-size:26px;
        font-weight:570;
    }
}

app-list {
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    > *
    {
        width: calc(50% - 10px);
    }
    a.action-link {
        
        display:flex;
        gap:10px;
        label-area {
            font-size:20px;
            color:var(--app-text-color);
        }
        app-icon {
            width:20px;
            height:20px;
            fill:var(--app-text-color);
        }
        description-area {
            font-size:14px;
            display:block;
            color:var(--app-text-color);
        }
    }
}

app-selector-menu {
    display: contents;
    a.action-link  {
        display: flex;
        align-items: center;
        padding: 12px 15px;
        line-height: 1;
        cursor: pointer;
        gap: 6px;
        > app-icon

        {
            margin-top: -1px;
            width: 16px;
            height: 16px;
        }

        &:hover {
            background-color: #f1f6fb;
        }

        app-icon {
            width: 16px;
        }
        description-area {
            display:block;
            margin-top:2px;
            font-size:12px;
        }


    }
}

.icon-selector {
    app-icon {
        display:none
    }
    &.eye {
        app-icon[icon="eye"] {
            display:block;
        }
    }
    &.star {
        app-icon[icon="star"] {
            display:block;
        }
    }
    &.edit {
        app-icon[icon="edit"] {
            display:block;
        }
    }
}

data-field[value-type=donut] {
    width:200px;
    > label-area {
        font-size:17px;
        font-weight:550;
        color:var(--app-text-color);
        margin-bottom:10px;
        &:empty {
            margin-bottom:0;
        }
    }
    > description-area {
        text-align:center;
    }
   
}

data-field[value-type=dashboard-value] {
    width:200px;
    > label-area {
        font-size:17px;
        font-weight:550;
        color:var(--app-text-color);
        margin-bottom:10px;
        &:empty {
            margin-bottom:0;
        }
    }
    > body-area {
        font-size:36px;
        margin-top:60px;
        border-bottom: solid 3px #2a9d90;
        .value-suffix {
            font-size:50%;
            margin-left:5px;
        }
    }
    > description-area {
        text-align:center;
    }
}

.element-menu .action-link {
    padding: 6px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor:pointer;
    &:hover

    {
        background-color: var(--app-active-nav-bg-color);
        font-weight: 630;
    }

    icon-area app-icon {
        width: 18px;
        height: 18px;
        fill: currentColor;
    }

    label-area {
        font-size: 14.5px;
        font-weight: 550;
        display: flex;
        align-items: center;
        flex-grow: 1;
    }
}
.element-menu new-group {
    height:1px;
    background-color:var(--app-text-color);
    margin:5px 0;
    display:block;
}

.barchart-tooltip {
    opacity:0;
    transition:opacity 0.35s;
}
.barchart-bar-hover {
    fill:transparent;
}
.barchart-group {
    pointer-events:bounding-box;
    &:hover{
        .barchart-tooltip {
            opacity:1;
        }
        .barchart-bar-hover {
            stroke: #d4dee8;
            stroke-width:2px;
        }
    }
}

hints-area {
    tr.hover-outline{
       > td {
            border-width:1px 0 1px 0;
            border-color:transparent;
            border-style:solid;
        }
        > td:first-child {
            border-width:1px 0 1px 1px;
            border-top-left-radius:3px;
            border-bottom-left-radius:3px;
        }
        > td:last-child {
            border-width:1px 1px 1px 0;
            border-top-right-radius:3px;
            border-bottom-right-radius:3px;
        }
       
        &:hover {
            > td
            {
                border-color: var(--app-text-color);
            }
        }
    }
}

search-bar {
    search-prompt {
        display:flex;
        border-style:solid;
        border-left-width:2px;
        border-color:transparent;
        cursor:pointer;
        &.hidden {
            display:none
        }
        &[is-active] {
            background-color: #eff4f9;
            border-color: var(--app-primary-bg-color);
        }

    }
    search-prompt-value {
        font-size:15px;
        display:block;
        margin-left:8px;
        font-weight:600;
       
        [prompt-option] {
            display:none;
            border:solid 1px var(--app-text-color);
            padding:2px 8px;
            border-radius:99px;
            font-size:14px;
            &[is-active] {
                display:block;
            }

        }
    }
    search-prompt[prompt-type=enum]{
        
    }


}

search-input {
    input {
        padding:25px 5px 8px 35px;
        &:placeholder-shown {
            padding:17px 5px 16px 35px;
        }
    }
    &:has(input:placeholder-shown) {
        search-label {
            display:none;
        }
    }
    search-label {
        display:block;
    }
}

#page-error {
    &:empty {
        display:none;
    }
}