
:root {
    --rt-font-family:"Source Sans 3", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;

    --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-chat-font-family:"Merriweather","Neuton", ui-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --app-code-font-family:"Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Consolas, Liberation Mono, monospace;
    --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-selected-row-bg-color:#e2f3fb; /* #e1ebfa; */
    --app-selected-row-border-color:#bed4df; /* #b3c2d9; */
    --app-selected-row-badge-border-color:#122e4512;

    --app-chat-nav-width:240px;
    --app-canvas-top:0;
    --app-canvas-height:100%;
    --app-canvas-left:0;
    --app-canvas-width:100%;
    --app-agent-area-width:400px;

    --app-workspace-body-width:100vw;

    --studio-height:500px;

    --currently-selecting:inline;
    --app-brand-color:#4e84a3;

    --app-header-bg-color:#e8e8e3;
    --app-border-color:#d9d9d0;
    --app-page-bg-color:#fbfbf8;
    --app-active-nav-bg-color:#e8e8e0;
    --app-active-outline-color:#4e84a3;
    --app-prompt-bg-color:var(--app-active-nav-bg-color);
    --app-prompt-border-color:transparent;
    --app-row-bg-color:var(--app-page-bg-color);
    --app-column-header-bg-color:#f3f3ee;
    --app-row-hover-bg-color:var(--app-column-header-bg-color);
    --app-row-font-size:15px;
    --app-row-font-weight:440;
    --app-row-letter-spacing:0.1px;

    --app-selected-row-bg-color:var(--app-column-header-bg-color);
    --app-selected-row-border-color:#4e84a3;
    --app-selected-row-badge-border-color:var(--app-border-color);
    --app-input-outline-color:#d9d9d0;
    --app-input-label-bg-color:var(--app-nav-bg-color);
    --app-primary-bg-color:var(--app-brand-color);
    --app-primary-border-color:var(--app-brand-color);
    --app-primary-hover-bg-color:#72a9c9;
    --app-text-color:#13343b;
    --app-label-color:var(--app-text-color);
    --app-input-placeholder-color:#8c8c84;
    --app-nav-bg-color:#f3f3ee;
    --app-menu-bg-color:var(--app-page-bg-color);
    --app-shadow-color:rgb(211 211 203);
    --app-icon-button-fill-color:#686263;
    --app-icon-button-hover-fill-color:#13343b;
    --app-circle-icon-bg-color:#445b62;
    --app-code-bg-color:#fffffb;
    --app-breadcrumb-ht:42px;
    --app-code-font-family:"red Hat Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, Liberation Mono, monospace;
    --app-canvas-bg-color:#f6f6f1;
}

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);
}

action-arg {
    display:none;
}

sqx-frame {
    display:block;
    &[status=loaded] {
        display:contents;
    }
    > content-area {
        display:flex;
        flex-direction: column;
        height:100%;
        overflow:hidden;
        > body-area {
            background-color:var(--app-page-bg-color);
            display: flex;
            flex-grow:1;
            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%;
            &[center-vertical] {
                justify-content:center;
            }
        }
        &[layer=sidebar] {
            padding-left:30px;
            position:relative;
            width:fit-content;
            margin-left:auto;
            max-width:100%;
            min-width:70%;
            > body-area {
                box-shadow:0 0 10px var(--app-shadow-color);
            }
        }
        &[layer='dialog'] {
            > body-area {
                background-color:transparent;
            }
        }
    }
}

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;

            }
        }
    }
}


input::placeholder {
    color: var(--app-input-placeholder-color) !important;
}

.flex {
    display:flex;
    &.hidden
    {
        display: none !important;
    }
}
.hidden {
    display:none !important;
}
.hide-for-auto-type {
    display:none !important;
}
.hide-for-auto-type-visibility {
    visibility:hidden !important;
}
auto-type {
    display:none;
}
auto-type[status=running],auto-type[status=completed] {
    display:contents;
    max-height:none;
    overflow:visible;
}
auto-type-label {
    display:none;
}
auto-type[status=running]{
    auto-type-label {
        display:block;
    }
}
.hide-unless-hover {
    opacity:0;
    &:has(drop-menu.is-open){
        opacity:1;
    }
}

.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;
}
.hover-underline:hover {
    text-decoration:underline;
}

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;
    }
}

sqx-layer-group {
    display:none;
    &[active] {
        display:contents;
    }
}

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;
            &[no-resize] {
                resize:none;
            }
        }
        & > 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);
        }
    } 

    & > dt {
        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;
    }
   
    & > dd {
        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;
        }
        
        
        a {
            cursor:pointer;
            &:hover {
                color:var(--app-primary-color)
            }
            app-icon {
                fill:var(--app-primary-color);
                width:16px;
            }
        }
        
    } 
   
    & > 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;
    }
}

dl {
    display:flex;
    flex-direction: column;
    gap:10px;
    &[flex-direction=row] {
        flex-direction: row;
        align-items: center;
        gap:30px;
    }
}
description-list {
    display:block;

    & > body-area {
        grid-gap: 1px;
        background-color: var(--app-border-color);
        padding:1px;
        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:var(--app-row-hover-bg-color);
                color: var(--app-text-color);
                display: flex;
                font-size: 14px;
                font-weight: 600;
                line-height: 1;
                padding: 8px 12px;
            }
            & > body-area {
                background-color: var(--app-page-bg-color);
                font-weight:450;
                font-size:15px;
                padding: 8px 20px 8px 12px;
                [is-edit-icon] {
                    margin-left:auto;
                    margin-right:-15px;
                }
            }
            & > dt {
                align-items: center;
                background-color:var(--app-row-hover-bg-color);
                color: var(--app-text-color);
                display: flex;
                font-size: 14px;
                font-weight: 600;
                line-height: 1;
                padding: 8px 12px;
            }
            & > dd {
                background-color: var(--app-page-bg-color);
                font-weight:450;
                font-size:15px;
                padding: 8px 20px 8px 12px;
                [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;
                    background-color:var(--app-input-label-bg-color);
                }
                
            }
            &:first-child, &:not([is-input]) + &[is-input] {
                > body-area {
                    
                }
            }
            &:last-child, &[is-input]:has(+ data-field:not([is-input])) {
                > body-area {
                
                }
            }
            
        }
    }
}

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;
}
sidebar-layout {
    display:block;
    padding:30px 10px;
    height:100%;
    overflow:hidden;
    > header-area {
        display:block;
        padding:0 25px;
        subtitle-area {
            font-size: 13px;
            min-height: 15px;
            margin-bottom: 0px;
            font-weight: 600;
            letter-spacing: 0.6px;
            color: var(--app-label-color);
            white-space: nowrap;
            line-height: 1.2;
            display:block;
            font-family: var(--app-chat-font-family);
            
        }
        title-area {
            font-size: 24px;
            font-weight: 580;
            text-decoration: none;
            letter-spacing: -0.22px;
            display: flex;
            align-items: center;
            gap: 8px;
            position:relative;
        
        }
    }
    > body-area {
        display:flex;
        flex-direction: column;
        gap:5px;
        padding:25px;
        > line-break {
            display:block;
            height:15px;
        }
        > data-field {
            border-bottom:solid 1px var(--app-border-color);
            padding:5px 0;
            > label-area {
                font-size:12px;
                text-align: left;   
            }
            > dt {
                font-size:12px;
                text-align: left;   
            }
        
            > body-area {
                font-size:17.6px;
                font-weight: 600;
                justify-content: left;
                white-space: nowrap;
                a {
                    app-icon {
                        width:18px;
                        height:18px;
                    }
                }
            }
            > dd {
                font-size:17.6px;
                font-weight: 600;
                justify-content: left;
                white-space: nowrap;
                a {
                    app-icon {
                        width:18px;
                        height:18px;
                    }
                }
            }
            value-badge {
                font-size:17px;
                margin-top:2px;
            }
        }
    }
}
detail-layout {
    flex-grow:1;
    overflow-y:hidden;
    overflow-x:hidden;
    padding:30px 40px 0 40px;
    height:100%; 
    display:flex;
    background-color:var(--app-page-bg-color);
    gap:60px;
    > nav-area {
        width:260px;
        min-width:var(--app-chat-nav-width);
        > header-area {
            margin-bottom:20px;
            display:block;
            subtitle-area {
                font-size: 13px;
                min-height: 15px;
                margin-bottom: 0px;
                font-weight: 600;
                letter-spacing: 0.6px;
                color: var(--app-label-color);
                white-space: nowrap;
                line-height: 1.2;
                display:block;
                font-family: var(--app-chat-font-family);
                
            }
            title-area {
                font-size: 24px;
                font-weight: 580;
                text-decoration: none;
                letter-spacing: -0.22px;
                position:relative;
                label {
                    font-size: 13px;
                    min-height: 15px;
                    margin-bottom: 0px;
                    font-weight: 600;
                    letter-spacing: 0.6px;
                    color: var(--app-label-color);
                    white-space: nowrap;
                    line-height: 1.2;
                    display:block;
                    font-family: var(--app-chat-font-family);
                    
                }
            
            }
            drop-content {
                margin-top:6px;
                min-width:200px;
            }
            right-column {
                margin-left:auto
            }
           
            summary-bar {
                margin-top:15px;
                column-gap:5px;
                > data-field {
                    background-color:var(--app-row-hover-bg-color);
                    border-radius:8px;
                    padding:5px;
                    flex-grow:1;
                }
            }

        }
        > h3 {
            font-family: var(--app-chat-font-family);
            font-size:15px;
            font-weight: 700;
            margin-top:8px;
            margin-bottom:8px;
        }
        actions-area {
            display:flex;
            flex-direction: column;
            gap:0;
            margin-left:-10px;
            a.action-link {
                border-radius:5px;
                width:100%;
              
                border:none;
                padding:6px 10px;
                label-area {
                    font-size:16px;
                    font-weight: 450;
                }
                
                &:hover {
                    text-decoration:underline;
                    text-underline-offset:3px;
                    background-color:transparent;
                }
            }
        }
        > body-area {
            display:flex;
            flex-direction: column;
            gap:5px;
            > line-break {
                display:block;
                height:15px;
            }
            > data-field {
                border-bottom:solid 1px var(--app-border-color);
                padding:5px 0;
                > label-area {
                    font-size:12px;
                    text-align: left;   
                }
            
                > body-area {
                    font-size:17.6px;
                    font-weight: 600;
                    justify-content: left;
                    white-space: normal;
                    a {
                        app-icon {
                            width:18px;
                            height:18px;
                        }
                    }
                    
                }
                > dt {
                    font-size:12px;
                    text-align: left;   
                }
            
                > dd {
                    font-size:17.6px;
                    font-weight: 600;
                    justify-content: left;
                    white-space: normal;
                    a {
                        app-icon {
                            width:18px;
                            height:18px;
                        }
                    }
                }
                value-badge {
                    font-size:17px;
                    margin-top:2px;
                }
            }
        }
        > tab-label-area {
            display:block;
            tab-labels {
                margin-left:-10px;
                flex-direction: column;
                align-items: flex-start;
                gap:0;
                tab-label {
                    border-radius:5px;
                    width:100%;
                    
                    > div {
                        font-size:16px;
                        font-weight: 450;
                        border:none;
                        padding:10px;
                    }
                    &.is-active {
                        background-color:var(--app-active-nav-bg-color);
                    }
                    &:hover {
                        background-color:var(--app-row-hover-bg-color);
                    }
                }
            }
        }

    }

    & > tab-content-area{
        flex-grow:1;
        display:block;
        overflow:hidden;
    }

}


dashboard-layout {
    display:block;
    flex-grow:1;
    height:100%;
    overflow-y:hidden;
    padding:30px 40px 0 40px;
    display:flex;
    flex-direction: column;
    background-color:var(--app-page-bg-color);  
    & > header-area {
        display:block;
        padding-left:5px;
        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:0 -20px;
        > tab-set {
            > tab-labels {
                padding:0 25px;
            }
            > tab-contents > tab-content {
                padding:0 25px;
            }
        }  
    }
   
    & > 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;
    }

}


list-layout {
    display: block;
    flex-grow: 1;
    overflow-y: hidden;
    padding: 30px 40px 0 40px;
    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-family: var(--app-chat-font-family);
            font-size: 17px;
            font-weight: 650;
            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;
        }
        summary-bar {
            justify-content: space-evenly;
            background-color:#fff;
            padding:10px;
            margin-top:15px;
        }
        .table-result-count {
            font-size:13px;
            font-family: var(--app-chat-font-family);
        }
        actions-area {
            display:flex;
            flex-direction: row;
            gap:10px;
            align-items: baseline;
            font-family:var(--app-chat-font-family);
            font-weight: 700;
            font-size:14px;
            a.action-link {
                border:none;
                font-family:var(--app-font-family);
                font-weight: 450;
                font-size:15px;
                padding:0;
                &:hover {
                    text-decoration:underline;
                    text-underline-offset:3px;
                    background-color:transparent;
                }
            }
        }
    }
    > body-area {
        overflow-y:auto;
        margin:-5px 0 0 0;
        padding-bottom:40px;
        border-top:solid 5px var(--app-page-bg-color);
        grid-placeholder {
            display:block;
            margin-top:20px;
            font-family: var(--app-chat-font-family);
            font-size:15px;
            font-weight: 550;
        }
    }
    > 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;
        }
    }
    &.is-cleared {
        > body-area {
            display:none;
        }
        > header-area {
            .table-result-count {
                display:none;
            }
        }
    }
    
}

[sqx\:page\.layer="embedded"] > content-area > body-area {
    > list-layout
    {
        padding: 0;
    }
    > detail-layout {
        padding:0;
    }
}

sqx-frame[layer=embedded] > content-area > body-area {
    > list-layout

    {
        padding: 0;
    }

    > detail-layout {
        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;
        }
    }
    > 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-active-nav-bg-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:var(--app-active-nav-bg-color);
    }
}

tab-labels {
    display: flex;
    align-items: center;
    position: relative;
    gap: 25px;
    margin-bottom:5px;
   
}

tab-label {
    cursor: pointer;
    margin-bottom:-2px;
    > 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: 17px;
    }
}

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: none;
        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:#fcfcf93b;
    transition: opacity .35s;
    position: absolute;
    height:var(--app-canvas-height);
    left: var(--app-canvas-left);
    width: var(--app-canvas-width);
    top: var(--app-canvas-top);
    pointer-events:auto;
}

dialog-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    z-index: 100;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    pointer-events:auto;
    cursor:not-allowed;
}


#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;
    }
}
data-ask {
    font-size:14.5px;
    font-weight:480;
    font-family: var(--app-chat-font-family);
    display:block;
    &:empty {
        display:none;
    }
    data-ask-value {
        font-size:16.5px;
        font-weight: 620;
        font-family: var(--app-font-family);
        margin-left:6px;
        margin-right:4px
    }
}

form-layout.action-form {
    cursor:auto;
    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;
    }
    border-radius:8px;
    border:solid 2px var(--app-border-color);
    box-shadow:0 0 8px var(--app-shadow-color);
    overflow:hidden;
    
    p {
        font-size:16px;
    }

    > header-area {
        display:block;
        background-color: var(--app-page-bg-color);
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        padding: 25px 60px 25px 25px;
        position: relative;
        title-area {
            align-items: center;
            display: flex;
            font-size: 18px;
            font-weight: 500;
            font-family: var(--app-chat-font-family);
            gap:8px;
        }
        h1 {
            font-size:18px;
            font-weight: 500;
            font-family: var(--app-chat-font-family);
        }
    }
    &[form-type="first-step"] {
        > header-area {
            background-color:var(--app-page-bg-color);
            title-area {
                font-size:22px;
                font-weight: 450;
                font-family: var(--app-chat-font-family);
            }
            box-shadow:none;
        }
        description-list {
            > body-area {
                data-field[is-input] {
                    > label-area {
                       background-color:var(--app-input-label-bg-color);
                    }
                    > body-area {
                        background-color:#fff;
                    }
                    input {
                        outline:none;
                        font-size:17px;
                        &:focus,&:active{
                            outline:none;
                        }
                    }
                }
            }
        }
    }
    > 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;
    }
    > results-area {
        font-family: var(--app-chat-font-family);
        font-size:14px;
        font-weight: 400;
        line-height: 1.4;
    }
}

content-area[layer="inline"] {
    > body-area > form-layout.action-form {
        min-width:0;
        margin-top:10px;
        > header-area {
            display:none;
        }
        > body-area {
            padding:15px 15px 15px 15px;
        }
        > footer-area {
            padding:15px;
        }
    }
}

form-layout.action-form[dialog-size="none"] {
    min-width: 520px;
    max-width: 800px;
    width: fit-content;
    margin: 80px auto 80px auto;
    border:none;
    box-shadow:none;
    > header-area {
        padding:15px;
        background-color:transparent;
        box-shadow:none;
        border-bottom:none;
        title-area {
            font-family: var(--app-chat-font-family);
            font-size:22px;
            font-weight:400;
            letter-spacing:0.5px;
        }
    }
    > body-area {
        padding:15px 15px 15px 15px;
        data-field > body-area {
            input {
                font-size:16px;
            }
        }
    }
    > footer-area {
        padding:15px;
    }
}


form-layout.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: none;
    background-color: var(--app-primary-bg-color);
    border-color: var(--app-primary-border-color);
    border-radius: 3px;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    padding: 10px 12px;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    &:hover {
        background-color:var(--app-primary-hover-bg-color);
    }
    &[destructive] {
        background-color: var(--app-destructive-bg-color);
        border-color: var(--app-destructive-border-color);
        &:hover {
            background-color:var(--app-destructive-bg-color);
        }
    }
    app-icon {
        fill:#fff;
        margin-right:5px;
    }
}

button[button-type=apply] {
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.15px;
    text-transform: none;
    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: none;
    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:var(--app-active-nav-bg-color);
    }
}
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-primary-bg-color);
    color:#fff;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    padding:6px 12px;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
}


table[data-table] {
    width:auto;
    min-width:50%;
    border-collapse:separate;
    border-spacing:0;
    &[no-stretch] {
        min-width:auto;
    }

    > thead {
        position:sticky;
        top:0;
        z-index:1;
        > tr {
            > th {
                background-color:var(--app-column-header-bg-color);
                font-size:14px;
                font-weight:610;
                
                text-align: left;
                vertical-align: bottom;
                border-left:solid 1px var(--app-border-color);
                border-top:solid 1px var(--app-border-color);
                border-bottom:solid 1px var(--app-border-color);
                &:last-child {
                    border-right:solid 1px var(--app-border-color);
                }
                > div
                {
                    padding: 6px 12px;
                    &[select-all],&[clear-selection] {
                        padding:6px 10px;
                    }
                }
                
                &[shrink]{
                    width:50px;
                }
                &[text-align=right] {
                    text-align:right;
                }
                &[is-tallygrid] {
                    padding:0;
                    > div {
                        padding:0
                    }
                }
                tally-header {
                    display:grid;
                    text-align:right;
                    > div {
                        padding:8px 12px;
                        border-right:solid 1px var(--app-border-color); 
                        &:last-child {
                            border-right:none;
                        }
                    }
                }
            }
        }
    }
    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 {
            &[sqx-onclick]{
                cursor:pointer;
            }

            > td {
                font-size:var(--app-row-font-size);
                font-weight:var(--app-row-font-weight);
                letter-spacing:var(--app-row-letter-spacing);
                background-color:var(--app-row-bg-color);
                border-top:1px solid var(--app-border-color);
                border-left:1px solid var(--app-border-color);
            
                padding:8px 12px;
                white-space: nowrap;
                &[sqx-onclick]{
                    cursor:pointer;
                }
                &[wrap-text] {
                    white-space: normal;
                }
                &[is-tallygrid] {
                    padding:0;
                }
                &:last-child {
                    border-right:1px solid var(--app-border-color);
                }
                &:has(> spacer-row){
                    border-top:none;
                    background-color:var(--app-page-bg-color);
                }
                &.bold {
                    font-weight:600;
                }
                &:has(> a.action-link){
                    padding:3px 12px;
                }
                &[text-align=right] {
                    text-align:right;
                }
                > 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;
                    input[type=checkbox] {
                        accent-color: #e2f3fb;
                        &:checked {
                            outline: solid 2px var(--app-brand-color);
                            accent-color: var(--app-selected-row-bg-color);
                        }
                    }
                    menu-trigger {
                        opacity:0.2;
                        &:hover {
                            opacity:1;
                        }
                    }
                }
                &[row-selector] > div {
                    display:flex;
                    align-items:center;
                    gap:10px;
                }
                a:hover {
                    text-decoration:underline;
                }
                tally-row {
                    display:grid;
                    text-align:right;
                    > div {
                        padding:8px 12px;
                        border-right:solid 1px var(--app-border-color); 
                        &:last-child {
                            border-right:none;
                        }
                    }
                    value-badge {
                        margin:-4px -10px;
                        font-size:15px;
                    }
                }
                value-badge {
                    border:transparent 1px solid;
                    margin:-4px;
                    font-size:15px;
                }
            }
            &:last-child > td {
                border-bottom:solid 1px var(--app-border-color);
            }
            &:hover > td {
                background-color:var(--app-row-hover-bg-color);
            }
            &[is-selected] {
                > td {
                    background-color:var(--app-selected-row-bg-color);
                    border-top-color:var(--app-selected-row-border-color);
                    font-weight:500;
                    &:first-child {
                        border-left-color:var(--app-selected-row-border-color) !important;
                    }
                    &:last-child {
                        border-right-color:var(--app-selected-row-border-color) !important;
                    }
                    value-badge {
                        border-color:var(--app-selected-row-badge-border-color);
                        font-weight:580;
                    }
                }
                + tr.row > td {
                    border-top-color:var(--app-selected-row-border-color);
                }
                + tr.row[is-selected] > td {
                    border-top-color:var(--app-border-color);
                }
                + tr.table-group-footer > td{
                    border-top-color:var(--app-selected-row-border-color);
                }
                &:last-child > td {
                    border-bottom-color:var(--app-selected-row-border-color) !important;
                }
            }
           
        }
        > tr.table-group-header {
          

            > td {
                background-color:var(--app-canvas-bg-color);
                border-left:1px solid var(--app-border-color);
                font-size:16.8px;
                padding:8px 12px;
                white-space: nowrap;
                &[is-tallygrid] {
                    padding:0;
                    border-left:solid 1px var(--app-border-color);
                }
               
                tally-header {
                    display:grid;
                    text-align:right;
                    > div {
                        padding:8px 12px;
                        border-right:solid 1px var(--app-border-color); 
                        &:last-child {
                            border-right:none;
                        }
                    }
                }
            }
            &:last-child > td {
                border-bottom:none;
            }
            &.primary {
                td {
                    background-color:var(--app-page-bg-color);
                    font-weight:600;
                    font-size:17px;
                    padding-top:25px;
                    border-left-color:transparent;
                    border-right-color:transparent;
                }
            }
            &.secondary {
                td {
                    background-color:var(--app-canvas-bg-color);
                    font-size:15px;
                }
            }
           
        }
        > tr.table-group-spacer {
            > td {
                height:2px;
            }
        }
        > tr.table-group-footer {
         

            > td {
                border-top:1px solid var(--app-border-color);
                background-color:var(--app-row-bg-color);
                font-size:var(--app-row-font-size);
                padding:8px 12px;
                white-space: nowrap;
                &.bold {
                    font-weight:600;
                }
                &[is-tallygrid] {
                    padding:0;
                    border-left:solid 1px var(--app-border-color);
                }
                tally-row {
                    display:grid;
                    text-align:right;
                    > div {
                        padding:8px 12px;
                        border-right:solid 1px var(--app-border-color); 
                    }
                }
                tally-header {
                    display:grid;
                    text-align:right;
                    > div {
                        padding:8px 12px;
                        border-right:solid 1px var(--app-border-color); 
                        &:last-child {
                            border-right:none;
                        }
                    }
                }
            }
            &.accent {
                >td {
                    font-weight:600;
                }
            }
           
        }
    }
    
}

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;
            }
        }
    }

    > data-field > dt {
        font-size:12px;
        text-align: center;   
    }

    > data-field > dd {
        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;
    }
    dt {
        font-size:13.5px;
        letter-spacing: 0.35px;
        margin-bottom:3px;
        color:var(--app-text-color);
    }
    dd {
        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:var(--app-input-placeholder-color);
        }
    }
    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: var(--app-header-bg-color);
        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;
        }
        &[align-bottom]{
            bottom:0;
        }
    }

    > drop-positioner {
        display:none;
    }

    > drop-positioner > drop-content {
        position:absolute;
        z-index:8000;   
        &[align-right]{
            right:0;
        }
        &[align-bottom]{
            bottom:0;
        }
    }

    drop-content {
        white-space: nowrap;
        background-color: var(--app-menu-bg-color);
        border-radius: 6px;
        border: solid 1px var(--app-border-color);
        box-shadow:0 0 8px var(--app-shadow-color);
        font-size: 14px;
        font-weight: 400;
        overflow:hidden;

    }
   
    > 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: var(--app-row-hover-bg-color);
            }

            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],[data-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;
    }
    &.big-circle {
        width:36px;
        height:36px;
        font-size:16px;
        font-weight:550;
        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;
        background-color:var(--app-nav-bg-color);
        white-space:nowrap;
        > title-area

        {
            font-size: 18px;
            font-weight: 620;
            padding: 10px 25px 10px 25px;
           
        }
        > labels-area {
            display: flex;
            flex-direction: column;
            padding: 20px 10px;
            flex-grow: 1;
            overflow-y:auto;
        }
        > expander-area {
            display:none;
            padding:5px 10px;
        }
        
    }
    > body-area {
        flex-grow: 1;
        position: relative;
        overflow:hidden;
        > * {
            display:none;
            &.is-active {
                display:block;
            }
            height:100%;
            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-nav {
    padding:10px 25px;
    border-radius: 6px;
    display:flex;
    align-items: center;
    gap:10px;
    cursor:pointer;
    &.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;
        line-height:1;
    }
}

workspace-tabs > labels-area .is-active .action-link {
    background-color: var(--app-active-nav-bg-color);
    font-weight: 630;
}

workspace-navbar {
    nav-group {
        > collapsible-trigger {
            display:flex;
            align-items:center;
            gap:10px;
            padding:10px 24px;
            cursor:pointer;
            > app-icon {
                display:block;
                transition:transform 0.2s ease-in-out;
            }
        }
       
        &[is-collapsed] > collapsible-trigger > app-icon {
            transform:rotate(-90deg);
        }
        > body-area {
            display:block;
        }
        > collapsible-trigger > label-area {
            line-height:1;
        }
        &[is-collapsed] > body-area {
            display:none;
        }
    }
}


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: none;
        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);
    }
}


.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;
    > dt {
        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;
    > dt {
        font-size:17px;
        font-weight:550;
        color:var(--app-text-color);
        margin-bottom:10px;
        &:empty {
            margin-bottom:0;
        }
    }
    > dd {
        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 {
    background-color:#fff;
    border:solid 1px var(--app-border-color);
    border-radius:10px;
    search-prompt {
        display:flex;
        border-style:solid;
        border-left-width:2px;
        border-color:transparent;
        cursor:pointer;
        &.hidden {
            display:none
        }
        &[is-active] {
            background-color: var(--app-row-hover-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-clear-button {
        display:flex;
        opacity:0;
    }
    &:hover {
        search-clear-button {
            display:flex;
            opacity:1;
        }
    }
}

search-input {
    input {
        font-size:16px;
        font-weight:480;
        width:100%;
        outline:none;
        padding:25px 5px 8px 40px;
        &:placeholder-shown {
            padding:17px 5px 16px 40px;
        }
        &::placeholder {
            color:var(--app-input-placeholder-color);
            font-weight:400;
        }
    }
    &:has(input:placeholder-shown) {
        search-label {
            display:none;
        }
    }
    search-label {
        display:block;
        color:var(--app-label-color);
        font-size:12.5px;
        font-weight:520;
        position:absolute;
        top:4px;
        left:45px;
    }   
    search-input-icon {
        position:absolute;
        top:19px;
        left:20px;
    }
}

#page-error {
    &:empty {
        display:none;
    }
}

thread-list {
    display:flex;
    height:100%;
    overflow:hidden;
    > nav-area {
        padding:0;
        width:400px;
        height:100%;
        overflow:hidden;
        display:flex;
        flex-direction:column;
        flex-grow:0;
        flex-shrink:0;
    }
    > body-area {
        flex-grow:1;
        height:100%;
        overflow:hidden;
    }
}

thread-link {
    display:block;
    cursor:pointer;
 
    & + thread-link {
        border-top:solid 1px var(--app-border-color);
    }
    .icon-wrapper {
        background-color:var(--app-page-bg-color);
    }
    &.is-active {
        background-color:#fff;
        .icon-wrapper {
            background-color:transparent;
        }
    }
}

thread-message {
    display:flex;
    gap:12px;
    & + thread-message {
        border-top:solid 1px var(--app-border-color);
        padding-top:10px;
    }    
}

#lisa-chat {
    display:none;
   
}



#app-area, #page-area {
    background-color:var(--app-canvas-bg-color);
}

#app-container[show-chat] {
    #lisa-chat {
        display:block;
    }
    #app-body {
        background-color:var(--app-header-bg-color);
        padding:20px;
    }
}

chat-frame{
    display:block;
    background-color:var(--app-page-bg-color);
    height:100%;
    overflow:hidden;
    chat-reply {
        display:flex;
        margin:0 -10px;
        width:fit-content;
        gap:5px;
        align-items:center;
        background-color:#dae5ef;
        padding:10px 20px 10px 10px;
        border-radius:10px;
        margin-bottom:15px;
    }
    
    chat-completed {
        display:flex;
        align-items:center;
        padding:15px;
        border:solid 1px  rgb(40 123 191);
        gap:5px;
        border-radius:5px;
        margin-bottom:20px;
        font-size:15px;
        font-weight:550;
    }
    button.submit-button {
        padding:6px 10px;
    }
    chat-suggestions {
        display:block;
        a[button-type="outline"]{
            padding:3px 8px;
            display:inline-block;
            label-area {
                font-size:13px;
                font-weight:550;
            }
        }
    }
}

chat-options {
    display:flex;
    flex-direction:column;
    background-color:#fdfeff;
    padding:15px;
    border:solid 2px var(--app-border-color);
    border-radius:8px;
    height:100%;
    overflow-y:auto;
    width:100%;

    chat-option {
        border:solid 1px transparent;
        display:flex;
        align-items:center;
        gap:10px;
        cursor:pointer;
        color:var(--app-text-color);
        border-radius:3px;
        padding:8px 12px;
        text-transform:none;
        > label-area {
            font-size:15px;
        }
        &:hover {
            background-color:var(--app-border-color);
        }
        &:hover{
            border:solid 1px #b2c1cf;
            background-color:#f0f8ff;
        }
    }
}

chat-code-snippet {
    display:flex;
    flex-direction:column;
    position:relative;

    > line-editor-area {
        flex-shrink:0;
        max-height:60%;
        overflow-y:auto;;
        border-radius: 8px;
        white-space: pre-wrap;
        font-family: 'Source Code Pro';
        font-size: 14px;
        font-weight: 540;
        line-height: 1.4;
        background-color: #e5ecf4;
        padding: 10px 15px;
        position: relative;
        margin:0 40px;
        chat-code-line {
            user-select: text;
            display:block;
            padding:3px 0;
            position:relative;
            cursor:grab;
            &:hover {
                background-color:#fdfeff;
            }
            > .remove-icon {
                fill:transparent;
                position:absolute;
                right:5px;
                top:5px;
                cursor:pointer;
            }
            &:hover {
                .remove-icon {
                    fill:var(--app-text-color);
                }
            }
        }
    }
    > freeform-editor-area {
        flex-shrink:0;
        max-height:60%;
        overflow-y:auto;
        margin:0 40px;
    }
    > actions-area {
        padding:0 40px;
        button.submit-button {
            padding:6px 10px;
        }
    }
    > header-area {
        padding:0 40px;
    }
    > footer-area {
        flex-grow:1;
        overflow-y:auto;
        padding:0 40px 30px 40px;
        position:relative;
    }

}

chat-code-snippet {
    code-line {
        padding:2px 0;
        user-select:text;
        display:block;
        border:solid 1px transparent;
        border-radius:4px;
        &:hover {
            background-color:var(--app-nav-bg-color);
        }
        &.is-active {
            border-color:var(--app-selected-border-color);
        }
    }
    code-toolbar {
        code-tool {
            cursor:pointer;
            border-radius:3px;
            fill:var(--app-icon-button-fill-color);
            padding:5px;
            &:hover {
                background-color:var(--app-active-nav-bg-color);
                fill:var(--app-icon-button-hover-fill-color);
                &[is-destructive] {
                    background-color:#d13a3a;
                    fill:#fff;
                }
            }
            app-icon {
                width:18px;
                height:18px;
            }
        }
    }
    
    &[is-before-changes]{
        font-style:italic;
        code-line {
            cursor:pointer;
            padding:0;
        }
    }
    sample-code {
        display:inline-block;
        width:100%;
        white-space:pre-wrap;
        font-family:var(--app-code-font-family);
        font-size:14px;
        font-weight:400;
        line-height:1.4;
        position:relative;
       
        > actions-area {
            font-family:var(--app-font-family);
            font-size:14px;
            font-weight:460;
            letter-spacing:0.15px;
            display:flex;
            align-items:center;
            gap:10px;
            padding-left:0;
          
            
        }

        > header-area {
            display:block;
            padding:30px 15px 0 15px;
        }
        > body-area {
            display:block;
            padding:10px 15px 10px 15px;
        }
    }
    &[is-before-changes] {
        sample-code {
            > actions-area {
                padding:10px 15px;
            }
        }
    }
}
code-menu {
    code-tool {
        display:flex;
        align-items:center;
        gap:5px;
        cursor:pointer;
        padding:10px 20px;
        border-radius:3px;
        &:hover {
            background-color:var(--app-active-nav-bg-color);
            &[is-destructive] {
                fill:#d13a3a;
                color:#d13a3a;
            }
        }
        app-icon {
            width:16px;
            height:16px;
        }
    }
}

code-explanation {
    display:block;
    font-family:var(--app-chat-font-family);
    font-size:14px;
    line-height:1.65;

    p {
        font-weight:550;
        margin:10px 0;
    }
    ul {
        list-style: disc;
        padding-left: 20px;
        li {
            margin: 5px 0; 
        }
    }
    ol {
        list-style: disc;
        padding-left: 20px;
        li {
            margin: 5px 0; 
        }
    }
    code {
        background-color: var(--app-code-bg-color);
        border-radius:4px;
        padding: 3px;
        color: var(--app-text-color);
        font-weight: 600;
        font-family: 'Source Code Pro';
        font-size: 12px;
    }
    strong {
        font-weight:850;
    }
}

textarea.chat-prompt {
    font-size:16px;
    outline: solid 2px var(--app-border-color);
    border-radius: 8px;
    padding: 15px 70px 15px 15px;
    background-color:#f9fbfd;
    font-weight:440;
}

filtered-list {
    display:contents;
}

chat-home {
    height:100%;
    max-width:600px;
    margin:auto;
    display:flex;
    flex-direction:column;

    chat-welcome-message {
        display:block;
        font-size:26px;
        font-weight:300;
        font-family:var(--app-chat-font-family);
        margin-bottom:45px;
        text-align:center;
        padding-top:100px;
    }
    > menu-area {
        position:fixed;
        top:9px;
        right:35px;
        display:flex;
        align-items:center;
        gap:8px;
    }
    actions-area {
        a.action-link {
            border:none;
            &:hover {
                background-color:var(--app-active-nav-bg-color);
            }
        }
    }
}

chat-canvas {
    position:relative;
    height:100%;
    display:flex;
    flex-direction: column;
    overflow:hidden;
    > main-area {
        flex-grow:1;
        overflow:hidden;
        display:flex;
        flex-direction:row;
        > nav-area {
            flex-shrink:0;
            width:var(--app-chat-nav-width);
            display:flex;
            flex-direction:column;
            padding-top:5px;
            nav-link {
                cursor:pointer;
                display:flex;
                align-items:center;
                gap:8px;
                font-size:15px;
                padding:6px 10px;
                margin-left:10px;
                border-radius:5px;
                app-icon {
                    width:18px;
                    height:18px;
                    opacity:0.75;
                }
                &:hover {
                    background-color:var(--app-active-nav-bg-color);
                }
                &[is-active] {
                    background-color:var(--app-active-nav-bg-color);
                }
            }
        }
        > body-area {
            flex-grow:1;
            height:100%;
            overflow:hidden;
            display:flex;
            flex-direction:column;
        }
        > sidebar-area {
            display:none;
            height:100%;
            overflow:hidden;
    
            chat-input-area {
                display:block;
                background-color:#fff;
                border:solid 1px var(--app-border-color);
                box-shadow:0 0 8px var(--app-shadow-color);
                margin-top:20px;
                border-radius:8px;
                position:sticky;
                bottom:0;
                z-index:10;
                margin-right:20px;
                margin-top:auto;
                margin-bottom:20px;
                textarea {
                    width:100%;
                    outline:none;
                    background-color:transparent;
                    padding:12px 12px 0 12px;
                    field-sizing:content;
                    font-size:16.5px;
                    resize:none;
                    height:85px;
                }
            }
        }
    }
    
    &[sidebar=open] > main-area > sidebar-area {
        display:flex;
        flex-direction:column;
        width:520px;
        padding-top:15px;
    }
    > nav-area {
        padding-left:10px;
        margin-top:50px;
        display:flex;
        flex-direction:column;
        gap:5px;
        flex-shrink:0;
        display:none;
        sidebar-icon {
            display:block;
            padding:8px;
            border-radius:3px;
            cursor:pointer;
            &:hover {
                background-color:var(--app-active-nav-bg-color);
            }
            app-icon {
                width:20px;
                height:20px;
            }
          
        }
    }
    > prompt-area {
        position:fixed;
        bottom:30px;
        z-index:9000;
        left:calc(50% + var(--app-chat-nav-width) / 2);
        transform:translateX(-50%);
        display:block;
        width:calc(100% - var(--app-chat-nav-width));
        max-width:900px;
    }
    &[inspector-active] {
        > nav-area {
            sidebar-icon[inspector-toggle] {
                fill:#fff !important;
                background-color:var(--app-brand-color);
            }
        }
    }
    
    > agent-area {
        display:none;
        width:var(--app-agent-area-width);
        position:relative;
    }
    &[show-agent-area] {
        > agent-area {
            display:flex;
            flex-direction:column;
            height:100%;
            overflow-y:auto;
            border-left:solid 1px var(--app-border-color);
            padding:15px 15px 15px 25px;
            margin-right:10px;
            flex-shrink:0;
        }
    }

   
    chat-side-nav {
        display:none;
        position:absolute;
        top:0;
        left:0;
        bottom:0;
        width:100%;
        background-color:var(--app-nav-bg-color);
        z-index:5;
        > body-area {
            display:flex;
            flex-direction:column;
            width:50px;
            padding-top:25px;
        }
    }

    chat-message-area {
        position:relative;
        display:flex;
        flex-direction:column;
        overflow:hidden;
        border-top-left-radius:10px;
        border-bottom-left-radius:10px;
        border-top-right-radius:10px;
        border-bottom-right-radius:10px;
        width:100%;
        > chat-message-inner {
            width:var(--app-chat-message-width);
            margin:0 auto;
            display:flex;
            flex-direction:column;
            height:100%;
            justify-content:center;
            position:relative;
            padding-right:20px;
            > header-area {
                position:fixed;
                display:flex;
                align-items:center;
                top:25px;
                left:30px;
              
                actions-area {
                    display:none;
                    flex-grow:1;
                    align-items:center;
                    justify-content:flex-end;
                }
            }
            > body-area {
                display:none;
                flex-grow:1;
            }
            > footer-area {
                chat-welcome-message {
                    display:block;
                    font-size:32px;
                    font-weight:300;
                    font-family:var(--app-chat-font-family);
                    margin-bottom:45px;
                    text-align:center;
                }
                chat-prompt-area {
                    display:flex;
                    flex-direction:column;
                    justify-content:flex-end;
                    height:100%;
                    background-color:var(--app-code-bg-color);
                    border-radius:8px;
                    overflow:hidden;
                    > body-area {
                        flex-grow:1;
                        display:flex;
                        flex-direction:column;
                        overflow-y:auto;
                    }
                    
                    chat-input-area {
                        display:block;
                        background-color:#fff;
                        border:solid 1px var(--app-border-color);
                        border-radius:8px;
                        margin:10px 10px 0 10px;
                    }
                    &:has(chat-agent-area chat-block) {
                        chat-agent-close {
                            display:flex;
                        }
                    }
                }
            }
        }
    }
    &:has(chat-message-inner > body-area > chat-block) {
        background-color:var(--app-nav-bg-color );
        chat-welcome-area {
            display:none;
        }
        > chat-message-area {
           
            > chat-message-inner {
                margin:0;
                justify-content:unset;
                > header-area {
                    position:relative;
                    padding:15px 50px 15px 20px;
                    top:0;
                    left:0;
                    actions-area {
                        display:flex;
                    }
                }
                > body-area {
                    display:block;
                }
                > footer-area {
                    position:absolute;
                    right:30px;
                    left:20px;
                    bottom:0;
                    padding-bottom:10px;
                    background-color:var(--app-nav-bg-color);
                }
            }
        }
    }
    
}
canvas-nav {
    align-self:flex-start;
    display:block;
    width:100%;
    > button-area {
        display:flex;
        align-items:center;
        width:100%;
        padding:10px 20px;
    }
    [sqx-action] {
        cursor:pointer;
        padding:4px;
        border:solid 2px transparent;
        border-radius:3px;
        &[is-active] {
            border-color:var(--app-border-color);
            background-color:var(--app-active-nav-bg-color);
        }
    }

}
page-content {
    display:none;
    flex-grow:1;
    overflow:hidden;
    &[is-active]{
        display:block;
    }
}
canvas-layer-stack {
    display:block;
    position:relative;
    height:100%;
    width:100%;
    overflow:hidden;

    > canvas-layer-stack-breadcrumbs {
        > div {
            padding:10px 44px;
            display:flex;
            align-items:center;
        }
        breadcrumb-link {
            display:flex;
            align-items:center;
            gap:10px;
            cursor:pointer;
            padding:2px 6px;
            border-radius:4px;
            line-height:1;
            min-height:24px;
            &:hover {
                background-color:var(--app-active-nav-bg-color);
            }
        }
    }
    > canvas-layer {
        position:absolute;
        top:5px;
        left:15px;
        right:20px;
        bottom:0;
        pointer-events:none;
        &[is-login]{
            top:0;
            left:0;
            right:0;
            bottom:0;
        }
      
        &[is-covered] {
            display:none;
        }
        &[is-home] {
            border-top-left-radius:0;
            border-top-right-radius:0;
            box-shadow:none;
            background-color:var(--app-canvas-bg-color);
            &[is-covered] {
                display:unset;
            }
        }
        > * {
            pointer-events:auto;
        }
        &:has(content-area[layer=sidebar]) {
            top: 144px;
        }
        
        
        > sqx-frame > content-area {
            background-color:var(--app-page-bg-color);
            box-shadow:0 0 3px var(--app-shadow-color);
            border-top-left-radius:10px;
            border-top-right-radius:10px;
            &[layer=sidebar],&[layer=dialog] {
                box-shadow:none;
                background-color:transparent;
               
            }
           
        }
    }
}

chat-builder-canvas {
    chat-prompt-area {
        display:block;
        background-color:#fff;
        border-radius:8px;
        box-shadow:0 0 8px var(--app-shadow-color);
        overflow:hidden;
        border:solid 1px var(--app-border-color);
        transition:border-color 0.2s ease-in-out;
        &:focus-within {
            border-color:#a6b6c7
        }
        textarea {
            border:none;
            outline:none;
            font-size:16px;
            font-weight:470;
        }
    }
}

layer-context {
    display:contents;
}

chat-block {
    display:block;
    position:relative;
    padding:0 30px;
    &:first-child {
        padding-top:0 !important;
    }
    + chat-block {
        padding-top:15px;
        &[block-type="block"] {
            padding-top:10px;
        }
    }
}
chat-agent-area {
    &:empty {
        display:none;
    }   
    chat-block {
        padding:0;
        chat-menu {
            display:none;
        }
    }
}

chat-start {
    display: flex;
    flex-direction: column;
    border:solid 1px var(--app-border-color);
    box-shadow:0 0 8px var(--app-shadow-color);
    border-radius:8px;
    background-color:var(--app-canvas-bg-color);
    executed-user-prompt {
        display:none;
    }
    &[show-executed-user-prompt] {
        executed-user-prompt {
            display:block;
        }
    }
}
chat-agent {
    display:block;
    
    > prompt-text-area {
        display:block;
        margin-bottom:15px;
        &[is-empty]{
            display:none;
        }
    }
    chat-agent-close {
        position:absolute;
        right:0;
        top:0; 
        padding:10px;
        cursor:pointer;
        z-index:10;
    }
    chat-input-area {
        display:block;
        background-color:#fff;
        border:solid 1px var(--app-border-color);
        box-shadow:0 0 8px var(--app-shadow-color);
        margin-top:20px;
        border-radius:8px;
        position:sticky;
        bottom:0;
        z-index:10;
        left:15px;
        right:5px;
        textarea {
            width:100%;
            outline:none;
            background-color:transparent;
            padding:12px 12px 0 12px;
            field-sizing:content;
            font-size:16.5px;
            resize:none;
            height:80px;
            field-sizing:content;
        }
        &:has(textarea:placeholder-shown) {
            chat-trigger {
                opacity:0.3;
            }
        }
    }
    
}
chat-sample-prompts {
    margin: 20px 0 0 0;
    display: block;
    .ideas-title {
        font-size: 13px;
        font-weight: 600;
        margin-left: 10px;
        margin-bottom:5px;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    chat-sample-prompt {
        display:flex;
        gap:10px;
        padding:15px 20px;
        white-space:pre-wrap;
        border-left:solid 1px var(--app-border-color);
        border-right:solid 1px var(--app-border-color);
        border-bottom:solid 1px var(--app-border-color);
        font-size:16px;
        &:first-child {
            border-top:solid 1px var(--app-border-color);
            border-top-left-radius:10px;
            border-top-right-radius:10px;
        }
        &:last-child {
            border-bottom-left-radius:10px;
            border-bottom-right-radius:10px;
        }
        app-icon {
            margin-top:2px;
        }
        cursor:pointer;
        opacity:0.85;
        &:hover {
            opacity:1;
            background-color:var(--app-active-nav-bg-color);
        }
    }
}
chat-questions {
    display:flex;
    flex-direction:column;
    gap:20px;
    input {
        font-family:var(--app-font-family);
        font-size:16.5px;
        font-weight:550;
        padding:5px 10px;
        border:solid 1px var(--app-border-color);
        border-radius:5px;
        margin:8px 0;
        width:100%;
        &:focus {
            outline:none;
            border-color:var(--app-active-outline-color);
        }
    }
    chat-question {
        + chat-question {
            border-top:solid 2px var(--app-border-color);
            padding-top:15px;
        }
        display:block;
        font-family:var(--app-chat-font-family);
        font-size:15px;
        .answer-title {
            font-weight:550;
            font-size:13px;
            font-family:var(--app-font-family);
            margin-top:10px;
        }
        ul,ol {
            margin-top:15px;
        }
        li {
            margin-left:25px;
            list-style-type:disc;
            padding:2px 5px;
            font-size:14px;
            strong {
                font-weight:780;
            }
        }
        chat-question-choices {
            display:block;
            .list-title {
                font-weight:550;
                font-size:13px;
                font-family:var(--app-font-family);
                margin-bottom:5px;
            }
            ul {
                margin-top:0;
            }
            li {
                list-style-type:circle;
                cursor:pointer;
                padding:5px;
                border-radius:5px;
                font-size:15px;
                font-weight:620;
                &:hover {
                    background-color:var(--app-active-nav-bg-color);
                }
            }
        }
        chat-input-area {
            display:block;
            background-color:#fff;
            border:solid 1px var(--app-border-color);
            border-radius:8px;
            margin-top:20px;
            overflow:hidden;
            textarea {
                field-sizing:content;
                border: none;
                outline: none;
                width: 100%;
                padding: 10px;
                font-family: var(--app-font-family);
                font-size: 16px;
                resize: none;
                height: 3em;
            }
        }
    }
}

chat-explanation {
    font-family:var(--app-chat-font-family);
    font-size:14px;
    font-weight:500;
    line-height:1.65;
    padding:0 35px 0 25px;
    p {
        margin-bottom:5px;
    }
    h1 {
        font-size:20px;
        font-weight:600;
        margin-bottom:10px;
    }
    h2 {
        font-size:18px;
        font-weight:600;
        margin-bottom:10px;
    }
    h3 {
        font-size:16px;
        font-weight:600;
        margin-bottom:10px;
    }
    ul,ol {
        margin-top:15px;
        li {
            margin-left:25px;
            list-style-type:disc;
            padding:2px 5px;
            font-size:14px;
            strong {
                font-weight:780;
            }
        }
    }
}

chat-response-toolbar {
    chat-response-thumbs-down {
        display:none;
        margin-top:10px;
        font-family:var(--app-font-family);
        textarea {
            border:solid 1px var(--app-border-color);
            width:100%;
            padding:8px;
            border-radius:6px;
            font-size:16px;
        }
        button[is-submit] {
            background-color:var(--app-primary-bg-color);
            color:#fff;
            border:none;
            padding:5px 10px;
            border-radius:5px;
            font-size:15px;
            display:block;
        }
        button[is-cancel]{
            background-color:transparent;
            color:var(--app-text-color);
            padding:5px 10px;
            border-radius:5px;
            font-size:15px;
            display:block;
        }
    }
    &[is-negative] {
        chat-response-thumbs-down {
            display:block;
        }
    }
}

chat-start {
    chat-agent {
        max-width:800px;
        margin:0 auto;
        width:100%;
    }
    chat-questions {
        padding:15px 25px;
    }
    skill-description {
        display:block;
        width:100%;
        margin:0 auto;
        max-width:800px;
        padding: 15px;
        font-family: var(--app-chat-font-family);
        font-size: 14px;
        text-align:center;
        h1 {
            font-size:20px;
            font-weight:600;
            margin-bottom:35px;
        }
        
    }
    chat-thinking {
        display:none;
       
        font-family:var(--app-chat-font-family);
        font-size:14px;
        font-weight:500;
        padding:0 15px 15px 15px;
        p {
            margin-bottom:5px;
        }
    }
}
robot-controller {
    display:contents
}

robot-controller[is-thinking] {
    chat-agent {
        chat-input-area {
            background-color:#eeeee8;
            border:none;
            padding:10px;
            textarea {
                height:auto;
                font-weight: 500;
            }
            actions-area {
                display:none;
            }
        }
        chat-sample-prompts {
            display:none;
        }
        
    }
    chat-start {
        chat-thinking {
            display:block;
        }
    }
    chat-questions {
        display:none;
    }
}

chat-sidebar-controller {
    display:contents;
    chat-thinking {
        font-family:var(--app-chat-font-family);
        font-size:14px;
        font-weight:500;
    }
}
chat-sidebar-controller[is-thinking] {
    chat-thinking {
        display:block;
        padding:0 35px 0 25px;
    }
    chat-questions {
        display:none;
    }
    chat-explanation {
        display:none;
    }
}

chat-agent-header {
    display:block;
    background-color:var(--app-nav-bg-color);
    > title-area {
        display:block;
        font-weight:580;
        font-family:var(--app-font-family);
        padding:10px 20px;
    }
    > prompt-text-area {
        display:block;
        margin:0 15px;
        background-color:var(--app-active-nav-bg-color);
        border-radius:8px;
        padding:15px;
        margin-top:25px;
        font-size:15px;
        font-weight:500;
        &:empty {
            display:none;
        }
    }
    > chat-thinking-area {
        margin-top:15px;
        display:none;
    }

    > explanation-area {
        display:block;
        padding:20px;
    }
    &[is-thinking] {
        > chat-thinking-area {
            display:block;
        }
        > explanation-area {
            display:none;
        }
    }
}

search-bar[is-prompt] {
    background-color:transparent;
}
search-bar[is-chat]{
    background-color:var(--app-nav-bg-color);
    border-radius:8px;
    border:solid 1px transparent;
  
    search-clear-button {
        display:none;
    }
    button.search-button {
        display:none;
    }
    search-input {
        search-label {
            color:var(--app-text-color);
            font-size:14px;
            left:50px;
        }
        search-input-icon {
            position:absolute;
            top:15px;
            left:10px;
            background-color:var(--app-circle-icon-bg-color);
            border-radius:99px;
            display:flex;
            align-items:center;
            justify-content:center;
            height:28px;
            width:28px;
            app-icon {
                fill:#fff;
            }
        }
        input{
            background-color:inherit;
            padding-left:45px;
            font-weight: 620;
            font-size:17px;
        }
    }
    &:has(search-input input:focus) {
        background-color:#fff;
        border-color:var(--app-input-outline-color);
        search-clear-button {
            display:flex;
        }
        button.search-button {
            display:flex;
        }
    }
}

sqx-frame[layer="prompt"] {
    list-layout {
        padding:0;
        background-color:transparent;
    }
}

sqx-frame[layer="chat"] {
    > content-area {
        display:none;
        &[layer="inline"] {
            display:block;
        }
    }
}

chat-block {
    chat-result-summary {
        border:solid 1px var(--app-border-color);
        display:flex;
        align-items:center;
        gap:10px;
        border-radius:14px;
        padding:8px 16px;
    }
}

chat-block {
    > chat-body[is-covered] {
        > sqx-frame {
            > content-area {
                > breadcrumb-area {
                    display:block;
                }
            }
        }
    }
}

chat-block[is-active] {
    chat-result-summary {
        border-color:var(--app-active-outline-color);
    }
    chat-preview-area {
       chat-message-text {
          background-color:var(--app-active-nav-bg-color);
       }
    }
    > chat-body > sqx-frame[layer="chat"] {
        > content-area {
            display:block;
            position:fixed;
            z-index:10;
            top:10px;
            right:10px;
            bottom:10px;
            height:auto;
            width:calc(var(--app-workspace-body-width) - var(--app-chat-message-width) - 20px);
            overflow:hidden;
            background-color:var(--app-page-bg-color);
            border-radius:10px;
            box-shadow:0 0 8px var(--app-shadow-color);
            &[layer="inline"] {
                position:static;
                width:auto;
            }
        }
    }
}


prompt-tab-labels {
    display: flex;
    align-items: center;
    position: relative;
    gap: 15px;
    padding:10px;
    
    prompt-tab-label {
        cursor: pointer;
        > div {
            display: flex;
            align-items: center;
            gap: 8px;
            padding:7px 12px;
            transition: background-color 0.3s ease 0s;
            font-weight: 510;
            line-height: 1;
            font-size: 15.5px;
            border-radius:99px;
        }
        &.is-active {
            > div {
                background-color:var(--app-active-nav-bg-color);    
            }
        }
    }
}

chat-comment {
    justify-content:flex-end;
}

chat-menu {
    position:absolute;
    top:12px;
    left:-25px;
    cursor:grab;
    z-index:2;
}

chat-block[block-type="text"] {
    chat-menu{
        top:0;
    }

    &[format="h1"]{
        padding-top:30px;
        chat-menu {
            top:7px;
        }
        chat-text { 
            font-size:24px;
            font-weight:600;
        }
    }

    &[format="h2"] {
        padding-top:20px;
        chat-menu {
            top:4px;
        }
        chat-text {
            font-size:20px;
        }
    }

    &[format="h3"] {
        padding-top:15px;
       
        chat-text {
            font-size:18px;
        }
    }

    &[format="h4"] {
        padding-top:15px;
        chat-text {
            font-size:16px;
        }
    }

    &[format="p"] {
        padding-top:15px;
        chat-text {
            font-size:15px;
        }
    }

    &[format="li"] {
        padding-top:15px;
        chat-text {
            font-size:15px;
            display:list-item;
            list-style-type:disc;
            list-style-position:inside;
        }
    }
    &[format="code"] {
        padding-top:25px;
        chat-text {
            font-size:14px;
            white-space: pre;
            font-family: 'Source Code Pro';
            background-color: var(--app-header-bg-color);
            padding: 20px 25px;
        }
    }
}

chat-artifact-menu{
    display:flex;
    flex-direction:column;
    padding:8px;
    a[button-type="outline"] {
        padding:8px 12px;
        gap:8px;
        border-radius:6px;
        font-size:14px;
        font-weight:520;
        color:var(--app-text-color);
        border-color:transparent;
        &:hover {
            background-color:var(--app-active-nav-bg-color);
        }
    }
}

chat-next-steps {
    display:flex;
    align-items:center;
    margin-left:25px;
    padding-top:7px;
    gap:5px;
    a[button-type="outline"] {
        border:none;
        label-area {
            font-size:13px;
        }
        app-icon {
            width:14px;
            height:14px;
        }
        padding:4px 10px;
        border-radius:99px;
        &:hover {
            background-color:var(--app-active-nav-bg-color);
        }
    }
}

chat-text {
    display:block;   
    code {
        background-color: #eaeff5;
        font-size: 14px;
        border: solid 1px var(--app-border-color);
        padding: 2px 6px;
        display: inline-block;
        border-radius: 4px;
    }
    em {
        font-weight:600;
    }
}

prompt-tab-contents {
    display:block;
}
sort-option {
    padding:12px 15px;
    display:block;
    cursor:pointer;
}

[studio-active-area] {
    position:relative;
    &:after {
        content: '';
        position: absolute;
        top: -3px;
        left: -3px;
        right: -3px;
        bottom: -3px;
        pointer-events: none;
        border: dotted 2px rgb(64 170 255);
    }
}

chat-builder-canvas,thinking-area,chat-thinking-area,chat-agent-header {
    thinking-spinner {
        display:flex;
        gap:10px;
        align-items:center;
        border-radius: 99px;
        padding: 5px 15px;
        width: fit-content;
        margin-left: 10px;
        font-size: 15px;
        font-weight: 550;
    }
    chat-thinking-area {
        display:none;
    }

    &[is-thinking] {
        chat-thinking-area {
            display:block;
        }
        [hide-when-thinking] {
            display:none;
        }
        thinking-spinner {

            .thinking-icon {
                text-align: center;
              }
              
              .thinking-icon > div {
                width: 8px;
                height: 8px;
                margin-right:2px;
                background-color:var(--app-circle-icon-bg-color);
              
                border-radius: 100%;
                display: inline-block;
                -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
                animation: sk-bouncedelay 1.4s infinite ease-in-out both;
              }
              
              .thinking-icon .bounce1 {
                -webkit-animation-delay: -0.32s;
                animation-delay: -0.32s;
              }
              
              .thinking-icon .bounce2 {
                -webkit-animation-delay: -0.16s;
                animation-delay: -0.16s;
              }
        }
    }
}

@-webkit-keyframes sk-bouncedelay {
0%, 80%, 100% { -webkit-transform: scale(0) }
40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
} 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
}
}
 
sqx-frame[layer="chat"] {
    > body-area {
        display:none;
    }
}

chat-preview-area {
   
    chat-result-summary {
        margin-left:-8px;
        &:hover {
            background-color:var(--app-row-hover-bg-color);
            cursor:pointer;
        }
    }
    summary-bar {
        > data-field > dd {
            font-size:15px;
        }
        > data-field > dt {
            text-align:left;
        }
    }
    chat-message-text {
        display:flex;
        align-items:center;
        gap:10px;
        background-color:var(--app-prompt-bg-color);
        border:solid 1px var(--app-prompt-border-color);
        border-radius:6px;
        padding:8px 12px;
        width:fit-content;
        font-size:16.5px;
        font-weight:500;
        .chat-message-verb {
            font-weight:390;
            font-size:14px;
            padding-top:2px;
            margin-right:7px;
        }

    }
}

thinking-area {
    display:none;
    &[is-thinking] {
        display:block;
    }
}  

icon-button {
    display:block;
    padding:8px 10px;
    border-radius:8px;
    cursor:pointer;
    &:hover {
        
        background-color:var(--app-active-nav-bg-color);
        app-icon {
            fill:var(--app-icon-button-hover-fill-color);
        }
    }
    app-icon {
        width:16px;
        height:16px;
        fill:var(--app-icon-button-fill-color);
    }
}

artifact-stack {  
    display: none;
    position: fixed;
    top: 10px;
    right: 10px;
    bottom: 10px;
    height: auto;
    width: calc(var(--app-workspace-body-width) - var(--app-chat-message-width) - 20px);
    overflow: hidden;
    z-index:500;
    pointer-events:none;

    artifact-layer {
        position:absolute;
        top:0;
        left:1px;
        right:0;
        bottom:0;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
        display:flex;
        flex-direction:column;
        pointer-events:all;
        overflow:hidden;

        &[is-covered] > body-area > sqx-frame {
            > content-area > breadcrumb-area {
                display:block;
               
            }
        }
        &[layer-type="sidebar"] {
            left:auto;
        }

        > body-area {
            flex-grow:1;
            overflow:hidden;
        }
       
        dialog-content {
            position:absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
        }
        dialog-cover {
            position:absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
        }
    }
}

breadcrumb-area {
    display:none;
    padding:10px 45px 10px 30px;
    font-weight:450;
    cursor:pointer;
    height:var(--app-breadcrumb-ht);
    data-field {
        flex-direction:row;
        gap:8px;
        > label-area {
            font-weight:375;
            line-height:1;
            padding-top:4px;
            font-size:14px;
        }
        > body-area {
            font-weight:650;
            font-size:15px;
        }
    }
}

chat-block[is-active]{
    artifact-stack {
        display:block;
        &:empty {
            display:none;
        }  
    }
}

#app-area[display-mode="collapsed"] {
    artifact-stack {
        width:calc(var(--app-workspace-body-width) - 60px);
        artifact-layer {
            border-top-left-radius:10px;
            border-bottom-left-radius:10px;
        }
    }
    chat-canvas {
        chat-side-nav {
            display:block;  
        }
    }
    chat-block {
        > chat-body > sqx-frame[layer="chat"] {
            > content-area {
                width:calc(var(--app-workspace-body-width) - 60px);
                border-left-color:transparent;
                border-top-left-radius:10px;
                border-bottom-left-radius:10px;
            }
        }
    }
    > chat-message-area {
        & > chat-message-inner {
            > footer-area {
                display:none;
            }
        }
    }
    workspace-tabs {
        > sidebar-area {
            width:52px;
            title-area {
                display:none;
            }
            > expander-area {
                display:block;
            }
            workspace-nav {
                padding:10px 8px;
                label-area {
                    display:none;
                }
            }
            nav-group {
                display:none;
            }

        }
    }
    chat-canvas {
       padding-left:0;
    }
}

.draggable-window {
    position: fixed;
    background: white;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 4px 12px var(--app-shadow-color);
    display: flex;
    flex-direction: column;
    z-index: 1000;
}
text-code {
    
    display:flex;
    gap:15px;
    font-family:var(--app-font-family);
    font-size:15px;

   
    body-area {
        font-family:var(--app-font-family);
        font-size:15px;
        line-height:1.85;
        code-attr {
            font-size:14px;
            font-family:var(--app-chat-font-family);
            font-weight:540;
        }

        code {
            font-family: var(--app-code-font-family);
            font-size: 13px;
            background-color: #ce601c1a;
            padding: 1px 5px;
            border-radius: 4px;
            color: #9e3f00;
            font-weight: 500;
            white-space:normal;
            &:hover {
                background-color:#9e3f00;
                color:#fff;
                cursor:pointer;
            }

        }
        code-attr[has-active-popup] {
            code {
                background-color:#9e3f00;
                color:#fff;
            }
        }
        span.arg-name {
            font-size:12px;
            letter-spacing: 0.15px;
            font-family:var(--app-chat-font-family);
        }
        span[arg-without-label] {
            border-radius:4px;
            cursor:pointer;
            &:hover, &[has-active-popup] {
                background-color:#9e3f00;
                color:#fff;
                code {
                    background-color:#9e3f00;
                    color:#fff;
                }
            }
        }
    }
}
code-line {
    text-code {
        padding:2px 10px 2px 10px;
        > icon-area {
            > app-icon[icon="disc"] {
                flex-shrink:0;
                margin-top:9px;
                width:6px;
                height:6px;
            }
            app-icon[icon="dragdots"] {
                width:16px;
                height:16px;
                margin:5px -5px 0 -5px;
                display:none;
            }
            &[can-drag] {
                cursor:grab;
            }
            
        }
        > menu-area {
            display:flex;
            align-items:center;
            justify-content:center;
            height:24px;
            width:24px;
            border-radius:99px;
            margin-left:auto;
            margin-top:2px;
            flex-shrink:0;
            cursor:pointer;
            opacity:0;
            app-icon {
                width:18px;
                height:18px;
            }
            &:hover {
                background-color:var(--app-code-bg-color);
            }
        }
        &:hover {
            > icon-area[can-drag] {
                app-icon[icon="dragdots"] {
                    display:block;
                }
                app-icon[icon="disc"] {
                    display:none;
                }
            }
            > menu-area {
                opacity:1;
            }
        }

    }

}

code-ul {
    display:flex;
    flex-direction:column;
    gap:5px;
    text-code {
        > icon-area {
            app-icon[icon="disc"] {
                margin-top:10px;
                width:6px; 
                height:6px;
            }
            app-icon[icon="dragdots"] {
                width:16px;
                height:16px;
                margin:5px -5px 0 -5px;
                display:none;
            }
            &[can-drag] {
                cursor:grab;
            }
        }
        > body-area {
            font-family: var(--app-chat-font-family);
            font-size:13px;
            font-weight:400;
        }
       
        .label-text {
            font-family:var(--app-font-family);
            font-weight:610;
            font-size:14.5px;
        }
        &:hover {
            > icon-area[can-drag] {
                app-icon[icon="dragdots"] {
                    display:block;
                }
                app-icon[icon="disc"] {
                    display:none;
                }
            }
        }
    }
}

chat-code-snippet {
    &[display-mode="text"] {
        sql-code {
            display:none;
        }
    }
    &[display-mode="sql"] {
        text-code {
            display:none;
        }
    }   
}

sql-code {
    display:block;
    position:relative;
    white-space:pre;
    border:solid 1px transparent;
    cursor:pointer;
    &.is-active
    {
        border: solid 1px #8bbae9;
        background-color: #ddedfd;
    }
}

stream-reveal {
    display:contents;
    &[status=wait]{
        display:none;
    }
    &[mark-blocks]{
        display:none;
    }
    *[reveal-mode]{
        display:none !important;
    }
}


friendly-code {
    display:block;
    line-height:1.75;
    markup-tag {
        display:block;
        position:relative;
        > label-area {
            font-size:15px;
            font-weight:500;
            cursor:pointer;
            &:hover {
                text-decoration:underline;
            }
            app-icon[icon="disc"] {
                width:6px;
                height:6px;
                margin-right:8px;
                margin-top:-3px;
            }
            app-icon[icon="caret-right"] {
                width:8px;
                height:8px;
                margin-right:11px;
                margin-top:0;
                margin-left:-1px;
                transform:translateY(-1px);
                transform-origin:top left;
            }
            app-icon[icon="angle-right"] {
                width:14px;
                height:14px;
                margin-right:11px;
                margin-top:0;
                margin-left:-1px;
                transform:translateY(-1px);
                transform-origin:top left;
            }
            app-icon[icon="text"]{
                width:16px;
                height:16px;
                margin-right:11px;
                margin-top:0;
            }
            app-icon[icon="arrow-circle-right"]{
                width:18px;
                height:18px;
                margin-right:8px;
                margin-top:-3px;
                opacity: 0.7;
            }
            app-icon[icon="minus"]{
                width:10px;
                height:10px;
                margin-right:8px;
                margin-top:-3px;
                opacity: 0.7;
            }
            app-icon[icon="dragdots"] {
                width:16px;
                height:16px;
                margin-right:5px;
                opacity: 0.4;
            }
        }
        &[state-open] > label-area > app-icon[icon="caret-right"] {
            transform:rotate(90deg) translate(-1px,-8px);
    
        }
        &[state-open] > label-area > app-icon[icon="angle-right"] {
            transform:rotate(90deg) translate(-1px,-14px);
    
        }
        &[draggable] > label-area:hover {
            cursor:grab;
            app-icon[icon="dragdots"] {
                display:block;
            }
        }
        > body-area {
            display:none;
            margin-left:25px;
            margin-bottom:5px;
        }
        > [remove-button] {
            opacity:0;
            position:absolute;
            right:0;
            top:0;
            padding:4px 6px;
            cursor:pointer;
            app-icon {
                width:16px;
                height:16px;
            }
        }
        &:has(> label-area:hover) > [remove-button]{
            opacity:1;
        }
        &:has(> [remove-button]:hover) {
            background-color:#ff00001f;
            > [remove-button] {
                opacity:1;
            }
        }
        &[state-open] > body-area {
            display:block;
        }
        code-attr {
            display:block;
            width:fit-content;
            > label-area {
                font-family:var(--app-chat-font-family);
                font-size:12.5px;
                letter-spacing:0.25px;
                display:inline-block;
            }
        }
    }
    code-block {
        display:block;
        > label-area {
            font-family:var(--app-chat-font-family);
            font-size:13.5px;
            font-weight:450;
            cursor:pointer;
            width:fit-content;
            &:hover {
                text-decoration:underline;
            }
            app-icon[icon="disc"] {
                width:6px;
                height:6px;
                margin-right:4px;
            }
            app-icon[icon="caret-right"] {
                width:8px;
                height:8px;
                margin-right:11px;
                margin-top:0;
                margin-left:-1px;
                transform:translateY(-1px);
                transform-origin:top left;
            }
        }
        > body-area {
            display:none;
            
            margin-left:25px;
            margin-top:5px;
            &[no-indent] {
                margin-left:0;
            }
        }
        &[state-open] > label-area > app-icon[icon="caret-right"] {
            transform:rotate(90deg) translate(-1px,-8px);
        }
        &[state-open] > body-area {
            display:block;
        }
    }
       
    code {
        font-family: var(--app-code-font-family);
        font-size: 13px;
        background-color: #ce601c1a;
        padding: 1px 5px;
        border-radius: 4px;
        color: #9e3f00;
        font-weight: 500;
        white-space:normal;
        line-height:1.25;
        &:hover {
            background-color:#9e3f00;
            color:#fff;
            cursor:pointer;
        }

    }
}

markdown-content {

    display:grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 18px;

    h1,h2,h3,h4,h5,h6 {
        font-family:var(--app-chat-font-family);
    }
    h1 {font-size:23px;font-weight:520;margin-top:12px;margin-bottom:0}
    h2 {font-size:19px;margin-top:10px;margin-bottom:0}
    h3 {font-size:16px;margin-top:4px;margin-bottom:0;font-weight: 550;}
    strong {
        font-weight: 750;
    }

    p {
        line-height: 1.65;
        margin:0;
    }

    ul {
        line-height: 1.8;
        margin:0;
    }
    li {
        list-style: disc;
        margin-left: 40px;
        font-family: var(--app-font-family);
        font-size:16px;
    }

    code {
        border: solid 1px var(--app-border-color);
        padding: 1px 5px;
        font-size: 13px;
        border-radius: 3px;
        color: rgb(166, 38, 164);
        margin-right: 2px;
    }

    sample-code {
        display:block;
        white-space:pre-wrap;
        font-family:var(--app-code-font-family);
        font-size:14px;
        font-weight:400;
        line-height:1.4;
        position:relative;
        border:solid 1px var(--app-border-color);
        border-radius:6px;
        padding:20px;
        background-color:#fffffc;
        font-size:13px;
        letter-spacing:0.15px;
    }
    
}

product-selector {
    display:block;
    margin:10px;

    body-area {
        display:flex;
        gap:10px;
    }
    ps-group {
        display:block;
        min-width:150px;
        label-area {
            display:block;
            padding:5px 10px 5px 10px;
            border-bottom:solid 1px var(--app-border-color);
            margin-bottom:10px;
        }
        body-area {
            display:flex;
            flex-direction:column;
            max-height: 50vh;
            overflow-y:auto;
        }
    }
    
    ps-option {
        display:block;
        padding:1px 10px;
        border-radius:99px;
        cursor:pointer;
        order:2;
    }

    &[has-selected-option]{
       
        ps-option{
            display:none;
            &[is-active]{
                display:block;
            }
            &[is-selected]{
                background-color:var(--app-active-nav-bg-color);
                order:1;

            }
        }
        ps-group[selected-values]   {
            ps-option{
                opacity:0.5;
                &[is-selected]{
                    opacity:1;
                }
            }
        }
    }
}

executed-user-prompt {
    body-area {
        position:relative;
        display:block;
        toolbar-area {
            position:absolute;
            bottom:-15px;
            right:45px;
            display:none;
            align-items:center;
            border:solid 1px var(--app-border-color);
            border-radius:8px;
            background-color:var(--app-page-bg-color);
            padding:3px;
            app-icon {
                width:16px;
                height:16px;
            }
            [sqx-action]{
                cursor:pointer;
                padding:8px;
                border-radius:5px;
                &:hover {
                    background-color:var(--app-active-nav-bg-color);
                }
            }
        }
        &:hover toolbar-area {
            display:flex;
        }
    }
    edit-area {
        display:none;
        textarea {
            width:100%;
            outline:none;
            background-color:#fff;
            padding:10px;
            field-sizing:content;
            font-size:16.5px;
            resize:none;
    
            border:solid 1px var(--app-border-color);
            border-radius:10px;
        }
        button[is-submit]{
            padding:6px 16px;
            background-color:var(--app-brand-color);
            color:#fff;
            font-size:15px;
            font-weight:500;
            border-radius:8px;
        }
        button[is-cancel]{
            padding:6px 16px;
            font-size:15px;
            font-weight:400;
            border-radius:8px;
            border:solid 1px var(--app-border-color);
            &:hover {
                background-color:#d9d9d0;
            }
        }
    }
    &[is-editing] {
        edit-area {
            display:block;
        }
        body-area {
            display:none;
        }
    }
    
}

skill-choices {
    display:block;
    background-color:#fff;
    > a {
        display: flex;
        align-items: center;
        padding: 12px 15px;
        line-height: 1;
        cursor: pointer;
        gap: 8px;
        border:none;
        font-size:15px;

        &:hover {
            background-color: var(--app-row-hover-bg-color);
        }

        app-icon {
            width: 20px;
        }

    }
}

prompt-editor {
    chat-input-area {
        border-radius:8px;
        background-color:#fff;
        border:solid 1px var(--app-border-color);
        position:relative;
        display:block;
        z-index:1;
        actions-area {
            position:relative;
            z-index:5;
            margin-bottom:4px;
        }
    }
  
    prompt-suggestions {
        display:none;
        flex-direction:column;
        padding:10px 16px;
        position:absolute;
        width:calc(100% + 2px);
        bottom:calc(100% - 4px);
        margin:0 -1px;
        border:solid 1px var(--app-border-color);
        border-top-left-radius:8px;
        border-top-right-radius:8px;
        background-color:#fff;
        z-index:3;
        pointer-events:all;
       
    }
    &[show-suggestions] {
        prompt-suggestions {
            display:flex;
            &:empty{
                display:none;
            }
        }
    }
   
    prompt-suggestion {
        display:block;
        font-size:15px;
        padding:4px;
        color:#999;
        cursor:pointer;
        &:hover {
            background-color:var(--app-row-hover-bg-color);
            color:var(--app-text-color);
        }
        strong {
            font-weight:600;
            color:var(--app-text-color);
        }
        &[is-active] {
            background-color:var(--app-active-nav-bg-color);
            color:var(--app-text-color);
        }
    }
}
prompt-segments {
    display: flex;
    flex-wrap: wrap;
    padding:15px 60px 15px 15px;
    font-size:16px;
    line-height:1.25;
    prompt-segment {
        display: none;
        position:relative;
        align-items:center;
        padding-right:0.25em;
        label {
            display:block;
            margin-left:0.15em;
            margin-right:0.4em
        }
        &[is-visible] {
            display: flex;
        }
        outline:none;
        min-width:20px;
        position:relative;
        white-space:nowrap;
        input-area {
            position:relative;
            display:block;
            font-weight:400;
        }
        &[as-badge] {
            input-area {
                [contenteditable] {
                    background-color:#edf7fb;
                    color:#2b75ad;
                    font-weight:500;
                    &:focus {
                        background-color:transparent;
                        color:var(--app-text-color);
                        font-weight:400;
                    }
                }
            }
        }
        prompt-instruction {
            display: none;
            background-color:#f0f0f0;
            position:absolute;
            top:5px;
            left:100%;
            padding:2px 4px;
            border-radius:4px;
            color:#aaa;
            margin-left:5px;
            font-size:11px;
        }
        &:focus-within {
            label {
                text-decoration:none;
                text-underline-offset:6px;
            }
            prompt-instruction {
                display:inline-block;
            }
        }
        &:focus-within[has-value] {
            prompt-instruction {
                color:#555;
            }
        }
    }
}


