@layer theme, base, components, cnc.tokens, cnc.attributes, cnc.parts, widgets, app-widgets, properties, utilities, cnc.application;
@layer app-widgets {
app-color-mode { display: inline-block; position: relative; }
app-color-mode .menu { background: #fff; border: 1px solid #e2e8f0; box-shadow: 0 4px 12px rgba( 0 , 0 , 0 , 0.1 ); min-width: 8rem; border-radius: var(--radius-lg); overflow: hidden; }
.dark app-color-mode .menu { background-color: var(--color-slate-800); border-color: var(--color-slate-700); }
app-color-mode .menu-item { color: #475569; transition: background 0.1s; display: flex; align-items: center; gap: calc(var(--spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 2); cursor: pointer; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
.dark app-color-mode .menu-item { color: var(--color-slate-300); }
app-color-mode .menu-item:hover { background: #f1f5f9; color: #0f172a; }
.dark app-color-mode .menu-item:hover { background-color: var(--color-slate-100); color: var(--color-slate-100); }
app-color-mode .menu-icon { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }
}
@layer app-widgets {
app-design-library { display: inline-block; position: relative; }
app-design-library .menu { background: #fff; border: 1px solid #e2e8f0; box-shadow: 0 4px 12px rgba( 0 , 0 , 0 , 0.1 ); min-width: 14rem; border-radius: var(--radius-lg); overflow: hidden; }
.dark app-design-library .menu { background-color: var(--color-slate-800); border-color: var(--color-slate-700); }
app-design-library .menu-item { color: #475569; transition: background 0.1s; display: flex; align-items: center; justify-content: space-between; gap: calc(var(--spacing) * 3); padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 2); cursor: pointer; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
.dark app-design-library .menu-item { color: var(--color-slate-300); }
app-design-library .menu-item:hover { background: #f1f5f9; color: #0f172a; }
.dark app-design-library .menu-item:hover { background-color: var(--color-slate-100); color: var(--color-slate-100); }
app-design-library .menu-label { display: flex; min-width: 0px; flex-direction: column; }
app-design-library .menu-item[data-current="true"] .menu-name { font-weight: var(--font-weight-semibold); }
app-design-library .menu-note { color: #94a3b8; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
.dark app-design-library .menu-note { color: var(--color-slate-400); }
app-design-library .menu-check { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; }
}
@layer app-widgets {
app-layout { display: block; height: 100dvh; }
app-layout .layout-grid { height: 100%; overflow: hidden; display: grid; gap: 0; transition: grid-template-columns 0.3s ease-in-out; scrollbar-width: thin; }
app-layout .layout-grid > [data-area="t"], app-layout .layout-grid > [data-area="b"], app-layout .layout-grid > [data-area="m"] { height: min-content; z-index: 40; }
app-layout .layout-grid > [data-area="c"], app-layout .layout-grid > [data-area="sub"] { overflow: auto; min-height: 0; position: relative; display: flex; flex-direction: column; }
app-layout .layout-grid > [data-area="l"], app-layout .layout-grid > [data-area="r"] { z-index: 40; overflow: auto; min-height: 0; transition: width 0.3s ease-in-out; }
app-layout .layout-grid::-webkit-scrollbar { width: 5px; height: 5px; }
app-layout .layout-grid::-webkit-scrollbar-track { background: transparent; }
app-layout .layout-grid::-webkit-scrollbar-thumb { border-radius: 5px; }
}
@layer app-widgets {
t-card { display: block; border-radius: var(--radius-lg); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-primary-200); background-color: var(--color-white); }
.dark t-card { border-color: var(--color-primary-800); background-color: var(--color-neutral-900); }
t-card .bar { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--spacing) * 2); border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-primary-100); padding-inline: calc(var(--box-spacing) * 4); padding-block: calc(var(--box-spacing) * 2); font-weight: var(--font-weight-semibold); color: var(--color-primary-800); }
.dark t-card .bar { border-color: var(--color-primary-800); color: var(--color-primary-200); }
t-card .body { padding-inline: calc(var(--box-spacing) * 4); padding-block: calc(var(--box-spacing) * 3); color: var(--color-primary-700); }
.dark t-card .body { color: var(--color-primary-300); }
}
@layer app-widgets {
test-id { display: block; }
}
@layer app-widgets {
cnc-accordion { display: block; position: relative; }
cnc-accordion .cnc-accordion_panel { background-color: var(--color-slate-100); padding: calc(var(--box-spacing) * 3); cursor: pointer; }
.dark cnc-accordion .cnc-accordion_panel { background-color: var(--color-slate-800); }
cnc-accordion .cnc-accordion_panel + .cnc-accordion_panel { border-top-width: 1px; border-top-style: var(--tw-border-style); border-color: var(--color-slate-200); }
.dark cnc-accordion .cnc-accordion_panel + .cnc-accordion_panel { border-color: var(--color-slate-700); }
cnc-accordion .cnc-accordion_header { padding: 0 0.75rem; display: flex; justify-content: space-between; align-items: center; color: var(--color-slate-600); }
.dark cnc-accordion .cnc-accordion_header { color: var(--color-slate-300); }
cnc-accordion .cnc-accordion_title { font-weight: var(--font-weight-medium); }
cnc-accordion .cnc-accordion_caret { transition: transform 0.3s ease; width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); flex-shrink: 0; }
cnc-accordion .cnc-accordion_panel.open .cnc-accordion_caret { transform: rotate( 180deg ); }
cnc-accordion .cnc-accordion_body { grid-template-rows: 0fr; transition: grid-template-rows 0.2s ease; padding: 0 0.75rem; display: grid; overflow: hidden; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-accordion .cnc-accordion_panel.open .cnc-accordion_body { grid-template-rows: 1fr; margin-top: 0.5rem; }
cnc-accordion .cnc-accordion_body-inner { min-height: 0px; color: var(--color-slate-500); }
.dark cnc-accordion .cnc-accordion_body-inner { color: var(--color-slate-400); }
}
@layer app-widgets {
cnc-address-picker { display: block; position: relative; }
cnc-address-picker .suggestions { max-height: 14rem; }
}
@layer app-widgets {
cnc-alert { display: block; }
cnc-alert .alert { transition: all 0.2s ease; }
cnc-alert .alert.accented { border-left: 4px solid; border-radius: 0px; }
cnc-alert .alert.primary { background-color: var(--color-primary-50); }
.dark cnc-alert .alert.primary { background-color: var(--color-primary-900); }
cnc-alert .alert.info { background-color: var(--color-info-50); }
.dark cnc-alert .alert.info { background-color: var(--color-info-900); }
cnc-alert .alert.success { background-color: var(--color-success-50); }
.dark cnc-alert .alert.success { background-color: var(--color-success-900); }
cnc-alert .alert.warning { background-color: var(--color-warning-50); }
.dark cnc-alert .alert.warning { background-color: var(--color-warning-900); }
cnc-alert .alert.danger { background-color: var(--color-danger-50); }
.dark cnc-alert .alert.danger { background-color: var(--color-danger-900); }
cnc-alert .alert.accented.primary { border-left-color: var(--color-primary-400); }
cnc-alert .alert.accented.info { border-left-color: var(--color-info-400); }
cnc-alert .alert.accented.success { border-left-color: var(--color-success-400); }
cnc-alert .alert.accented.warning { border-left-color: var(--color-warning-400); }
cnc-alert .alert.accented.danger { border-left-color: var(--color-danger-400); }
cnc-alert .icon-area { margin-top: 0.125rem; }
cnc-alert .primary .alert-icon { color: var(--color-primary-600); }
.dark cnc-alert .primary .alert-icon { color: var(--color-primary-400); }
cnc-alert .info .alert-icon { color: var(--color-info-600); }
.dark cnc-alert .info .alert-icon { color: var(--color-info-400); }
cnc-alert .success .alert-icon { color: var(--color-success-600); }
.dark cnc-alert .success .alert-icon { color: var(--color-success-400); }
cnc-alert .warning .alert-icon { color: var(--color-warning-600); }
.dark cnc-alert .warning .alert-icon { color: var(--color-warning-400); }
cnc-alert .danger .alert-icon { color: var(--color-danger-600); }
.dark cnc-alert .danger .alert-icon { color: var(--color-danger-400); }
cnc-alert .primary .alert-title { color: var(--color-primary-800); }
.dark cnc-alert .primary .alert-title { color: var(--color-primary-300); }
cnc-alert .info .alert-title { color: var(--color-info-800); }
.dark cnc-alert .info .alert-title { color: var(--color-info-300); }
cnc-alert .success .alert-title { color: var(--color-success-800); }
.dark cnc-alert .success .alert-title { color: var(--color-success-300); }
cnc-alert .warning .alert-title { color: var(--color-warning-800); }
.dark cnc-alert .warning .alert-title { color: var(--color-warning-300); }
cnc-alert .danger .alert-title { color: var(--color-danger-800); }
.dark cnc-alert .danger .alert-title { color: var(--color-danger-300); }
cnc-alert .primary .alert-content { color: var(--color-primary-700); }
.dark cnc-alert .primary .alert-content { color: var(--color-primary-400); }
cnc-alert .info .alert-content { color: var(--color-info-700); }
.dark cnc-alert .info .alert-content { color: var(--color-info-400); }
cnc-alert .success .alert-content { color: var(--color-success-700); }
.dark cnc-alert .success .alert-content { color: var(--color-success-400); }
cnc-alert .warning .alert-content { color: var(--color-warning-700); }
.dark cnc-alert .warning .alert-content { color: var(--color-warning-400); }
cnc-alert .danger .alert-content { color: var(--color-danger-700); }
.dark cnc-alert .danger .alert-content { color: var(--color-danger-400); }
cnc-alert .close-area.visible { display: flex; }
cnc-alert .primary .close-area { color: var(--color-primary-600); }
.dark cnc-alert .primary .close-area { color: var(--color-primary-400); }
cnc-alert .info .close-area { color: var(--color-info-600); }
.dark cnc-alert .info .close-area { color: var(--color-info-400); }
cnc-alert .success .close-area { color: var(--color-success-600); }
.dark cnc-alert .success .close-area { color: var(--color-success-400); }
cnc-alert .warning .close-area { color: var(--color-warning-600); }
.dark cnc-alert .warning .close-area { color: var(--color-warning-400); }
cnc-alert .danger .close-area { color: var(--color-danger-600); }
.dark cnc-alert .danger .close-area { color: var(--color-danger-400); }
cnc-alert .close-area:hover { opacity: 80%; }
}
@layer app-widgets {
cnc-arrow { z-index: 1; position: absolute; inset: 0px; pointer-events: none; overflow: visible; }
cnc-arrow .arrow-svg { stroke: #14b8a6; fill: #14b8a6; position: absolute; top: 0px; left: 0px; pointer-events: none; overflow: visible; }
}
@layer app-widgets {
cnc-autolayout { display: block; position: relative; }
}
@layer app-widgets {
cnc-avatar[size="xxs"] { --shape-border-radius-rounded: var( --radius-xs , 0.1875rem ); }
cnc-avatar[size="xs"], cnc-avatar[size="sm"] { --shape-border-radius-rounded: var( --radius-sm , 0.25rem ); }
cnc-avatar[size="md"], cnc-avatar:not([size]) { --shape-border-radius-rounded: var( --radius-md , 0.375rem ); }
cnc-avatar[size="lg"], cnc-avatar[size="xl"], cnc-avatar[size="2xl"] { --shape-border-radius-rounded: var( --radius-lg , 0.5rem ); }
cnc-avatar[shape="circle"], cnc-avatar:not([shape]) { --shape-border-radius: 50%; }
cnc-avatar[shape="rounded"] { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-md , 0.375rem ) ); }
cnc-avatar[shape="square"], cnc-avatar[shape="rectangle"] { --shape-border-radius: 0; }
cnc-avatar[size="xxs"] { --container-size: 1rem; --container-ring-width: 1px; --container-shadow-offset-x: 1px; --container-shadow-offset-y: 2px; --container-shadow-blur: 3px; --initials-font-size: 0.5rem; --avatar-icon-size: 0.625rem; }
cnc-avatar[size="xs"] { --container-size: 1.5rem; --container-ring-width: 2px; --container-shadow-offset-x: 1px; --container-shadow-offset-y: 2px; --container-shadow-blur: 4px; --initials-font-size: 0.625rem; --avatar-icon-size: 0.875rem; }
cnc-avatar[size="sm"] { --container-size: 2rem; --container-ring-width: 2px; --container-shadow-offset-x: 2px; --container-shadow-offset-y: 3px; --container-shadow-blur: 5px; --initials-font-size: 0.75rem; --avatar-icon-size: 1.125rem; }
cnc-avatar[size="md"], cnc-avatar:not([size]) { --container-size: 2.5rem; --container-ring-width: 3px; --container-shadow-offset-x: 2px; --container-shadow-offset-y: 4px; --container-shadow-blur: 7px; --initials-font-size: 1rem; --avatar-icon-size: 1.375rem; }
cnc-avatar[size="lg"] { --container-size: 3rem; --container-ring-width: 3px; --container-shadow-offset-x: 3px; --container-shadow-offset-y: 5px; --container-shadow-blur: 9px; --initials-font-size: 1.25rem; --avatar-icon-size: 1.625rem; }
cnc-avatar[size="xl"] { --container-size: 4rem; --container-ring-width: 4px; --container-shadow-offset-x: 4px; --container-shadow-offset-y: 6px; --container-shadow-blur: 12px; --initials-font-size: 1.5rem; --avatar-icon-size: 2.125rem; }
cnc-avatar[size="2xl"] { --container-size: 5rem; --container-ring-width: 5px; --container-shadow-offset-x: 5px; --container-shadow-offset-y: 8px; --container-shadow-blur: 16px; --initials-font-size: 1.875rem; --avatar-icon-size: 2.625rem; }
cnc-avatar { --container-border-radius: var( --shape-border-radius , 50% ); --container-bg: rgb( 0 0 0 / 5% ); --container-text-color: var( --color-neutral-500 ); --container-icon-color: var( --color-neutral-400 ); --container-border-color: rgb( 0 0 0 / 4% ); --container-ring-color: var( --color-white , white ); --container-shadow-color: rgb( 15 23 42 / 24% ); --initials-font-weight: 600; line-height: 0; }
cnc-avatar[kind="plain"], cnc-avatar:not([kind]) { --container-inner-shadow: none; --container-shadow: none; }
cnc-avatar[kind="outline"] { --container-inner-shadow: inset 0 0 0 1px var( --container-border-color ); --container-shadow: none; }
cnc-avatar[kind="ring"] { --container-inner-shadow: inset 0 0 0 1px var( --container-border-color ); --container-shadow: 0 0 0 var( --container-ring-width ) var( --container-ring-color ) , var( --container-shadow-offset-x ) var( --container-shadow-offset-y ) var( --container-shadow-blur ) var( --container-shadow-color ); }
.dark cnc-avatar { --container-bg: rgb( 255 255 255 / 6% ); --container-text-color: rgb( 255 255 255 / 24% ); --container-icon-color: rgb( 255 255 255 / 24% ); --container-border-color: rgb( 255 255 255 / 24% ); --container-ring-color: rgba( 255 , 255 , 255 , 8% ); --container-shadow-color: rgb( 0 0 0 / 45% ); }
cnc-avatar .cnc-avatar_container { inline-size: var( --container-size ); block-size: var( --container-size ); vertical-align: middle; color: var( --container-text-color ); background: var( --container-bg ); border-radius: var( --container-border-radius ); box-shadow: var( --container-shadow ); }
cnc-avatar .cnc-avatar_container::after { position: absolute; z-index: 1; inset: 0; border-radius: inherit; box-shadow: var( --container-inner-shadow ); content: ""; pointer-events: none; }
cnc-avatar .cnc-avatar_image { display: block; }
cnc-avatar .cnc-avatar_initials { color: var( --container-text-color ); font-size: var( --initials-font-size ); font-weight: var( --initials-font-weight ); line-height: 1; }
cnc-avatar .cnc-avatar_icon { inline-size: var( --avatar-icon-size ); block-size: var( --avatar-icon-size ); color: var( --container-icon-color ); --container-size: 100% !important; }
}
@layer widgets {
cnc-avatar-group { --avatar-animation-duration: 500ms; --avatar-animation-timing: ease-out; --avatar-animation-stagger-delay: 150ms; display: inline-flex; align-items: center; isolation: isolate; }
cnc-avatar-group[responsive]:not([data-responsive-ready]) { visibility: hidden; pointer-events: none; }
cnc-avatar-group > cnc-avatar { --avatar-size: var( --container-size , 2.5rem ); --resolved-avatar-overlap: var( --avatar-overlap , calc( var( --avatar-size ) / 5 ) ); --avatar-shift: calc( var( --avatar-size ) - var( --resolved-avatar-overlap ) ); --cutout-radius: calc( var( --avatar-size ) / 2 + var( --container-ring-width , 3px ) ); position: relative; width: var( --avatar-size ); height: var( --avatar-size ); flex: 0 0 var( --avatar-size ); overflow: visible; z-index: calc( 100 - var( --avatar-index , 0 ) ); transition: transform 160ms ease , box-shadow 160ms ease; }
cnc-avatar-group > cnc-avatar:not(:first-child) { margin-left: calc( -1 * var( --resolved-avatar-overlap ) ); }
cnc-avatar-group:not([reverse]) > cnc-avatar:not(:first-child), cnc-avatar-group[reverse="false"] > cnc-avatar:not(:first-child) { --mask-avatar-center-x: calc( var( --avatar-size ) / 2 - var( --avatar-shift ) ); --mask-cutout-edge: calc( var( --resolved-avatar-overlap ) + var( --container-ring-width , 3px ) ); --mask-edge-gradient: linear-gradient( to right , transparent calc( var( --mask-cutout-edge ) - 0.5px ) , #000 var( --mask-cutout-edge ) ); }
cnc-avatar-group[reverse]:not([reverse="false"]) > cnc-avatar:not(:last-child) { --mask-avatar-center-x: calc( var( --avatar-size ) / 2 + var( --avatar-shift ) ); --mask-cutout-edge: calc( var( --avatar-shift ) - var( --container-ring-width , 3px ) ); --mask-edge-gradient: linear-gradient( to right , #000 calc( var( --mask-cutout-edge ) - 0.5px ) , transparent var( --mask-cutout-edge ) ); }
cnc-avatar-group:not([reverse]) > cnc-avatar:not(:first-child), cnc-avatar-group[reverse="false"] > cnc-avatar:not(:first-child), cnc-avatar-group[reverse]:not([reverse="false"]) > cnc-avatar:not(:last-child) { -webkit-mask-image: radial-gradient( circle at var( --mask-avatar-center-x ) 50% , transparent calc( var( --cutout-radius ) - 0.5px ) , #000 var( --cutout-radius ) ); mask-image: radial-gradient( circle at var( --mask-avatar-center-x ) 50% , transparent calc( var( --cutout-radius ) - 0.5px ) , #000 var( --cutout-radius ) ); }
cnc-avatar-group:not([reverse]) > cnc-avatar:is([shape="square"], [shape="rectangle"]):not(:first-child), cnc-avatar-group[reverse="false"] > cnc-avatar:is([shape="square"], [shape="rectangle"]):not(:first-child), cnc-avatar-group[reverse]:not([reverse="false"]) > cnc-avatar:is([shape="square"], [shape="rectangle"]):not(:last-child) { -webkit-mask-image: var( --mask-edge-gradient ); mask-image: var( --mask-edge-gradient ); }
cnc-avatar-group:not([reverse]) > cnc-avatar[shape="rounded"]:not(:first-child), cnc-avatar-group[reverse="false"] > cnc-avatar[shape="rounded"]:not(:first-child) { --mask-corner-center-x: calc( var( --mask-cutout-edge ) - var( --expanded-corner-radius ) ); }
cnc-avatar-group[reverse]:not([reverse="false"]) > cnc-avatar[shape="rounded"]:not(:last-child) { --mask-corner-center-x: calc( var( --mask-cutout-edge ) + var( --expanded-corner-radius ) ); }
cnc-avatar-group:not([reverse]) > cnc-avatar[shape="rounded"]:not(:first-child), cnc-avatar-group[reverse="false"] > cnc-avatar[shape="rounded"]:not(:first-child), cnc-avatar-group[reverse]:not([reverse="false"]) > cnc-avatar[shape="rounded"]:not(:last-child) { --avatar-corner-radius: var( --shape-border-radius-rounded , var( --radius-md , 0.375rem ) ); --expanded-corner-radius: calc( var( --avatar-corner-radius ) + var( --container-ring-width , 3px ) ); --mask-top-corner-gradient: radial-gradient( circle var( --expanded-corner-radius ) at var( --mask-corner-center-x ) 100% , transparent calc( var( --expanded-corner-radius ) - 0.5px ) , #000 var( --expanded-corner-radius ) ); --mask-bottom-corner-gradient: radial-gradient( circle var( --expanded-corner-radius ) at var( --mask-corner-center-x ) 0% , transparent calc( var( --expanded-corner-radius ) - 0.5px ) , #000 var( --expanded-corner-radius ) ); -webkit-mask-image: var( --mask-top-corner-gradient ) , var( --mask-bottom-corner-gradient ) , var( --mask-edge-gradient ); mask-image: var( --mask-top-corner-gradient ) , var( --mask-bottom-corner-gradient ) , var( --mask-edge-gradient ); -webkit-mask-position: top , bottom , center; mask-position: top , bottom , center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% var( --avatar-corner-radius ) , 100% var( --avatar-corner-radius ) , 100% 100%; mask-size: 100% var( --avatar-corner-radius ) , 100% var( --avatar-corner-radius ) , 100% 100%; }
cnc-avatar-group > cnc-avatar:has(+ cnc-avatar:hover:not(.cnc-avatar-group_extra)), cnc-avatar-group > cnc-avatar:hover + cnc-avatar:not(.cnc-avatar-group_extra) { --hover-avatar-expansion: calc( var( --avatar-size ) * 0.04 ); --hover-cutout-radius: calc( var( --avatar-size ) / 2 + var( --hover-avatar-expansion ) + var( --container-ring-width , 3px ) ); }
cnc-avatar-group > cnc-avatar:has(+ cnc-avatar:hover:not(.cnc-avatar-group_extra)) { --hover-mask-avatar-center-x: calc( var( --avatar-size ) / 2 + var( --avatar-shift ) ); --hover-mask-cutout-edge: calc( var( --avatar-shift ) - var( --container-ring-width , 3px ) - var( --hover-avatar-expansion ) ); --hover-mask-edge-gradient: linear-gradient( to right , #000 calc( var( --hover-mask-cutout-edge ) - 0.5px ) , transparent var( --hover-mask-cutout-edge ) ); }
cnc-avatar-group > cnc-avatar:hover + cnc-avatar:not(.cnc-avatar-group_extra) { --hover-mask-avatar-center-x: calc( var( --avatar-size ) / 2 - var( --avatar-shift ) ); --hover-mask-cutout-edge: calc( var( --resolved-avatar-overlap ) + var( --container-ring-width , 3px ) + var( --hover-avatar-expansion ) ); --hover-mask-edge-gradient: linear-gradient( to right , transparent calc( var( --hover-mask-cutout-edge ) - 0.5px ) , #000 var( --hover-mask-cutout-edge ) ); }
cnc-avatar-group > cnc-avatar:is([shape="circle"], :not([shape])):has( + cnc-avatar:hover:not(.cnc-avatar-group_extra) ) > .cnc-avatar_container, cnc-avatar-group > cnc-avatar:hover + cnc-avatar:is([shape="circle"], :not([shape])):not(.cnc-avatar-group_extra) > .cnc-avatar_container { -webkit-mask-image: radial-gradient( circle at var( --hover-mask-avatar-center-x ) 50% , transparent calc( var( --hover-cutout-radius ) - 0.5px ) , #000 var( --hover-cutout-radius ) ) !important; mask-image: radial-gradient( circle at var( --hover-mask-avatar-center-x ) 50% , transparent calc( var( --hover-cutout-radius ) - 0.5px ) , #000 var( --hover-cutout-radius ) ) !important; }
cnc-avatar-group > cnc-avatar:is([shape="square"], [shape="rectangle"]):has( + cnc-avatar:hover:not(.cnc-avatar-group_extra) ) > .cnc-avatar_container, cnc-avatar-group > cnc-avatar:hover + cnc-avatar:is([shape="square"], [shape="rectangle"]):not(.cnc-avatar-group_extra) > .cnc-avatar_container { -webkit-mask-image: var( --hover-mask-edge-gradient ) !important; mask-image: var( --hover-mask-edge-gradient ) !important; }
cnc-avatar-group > cnc-avatar[shape="rounded"]:has(+ cnc-avatar:hover:not(.cnc-avatar-group_extra)) { --hover-mask-corner-center-x: calc( var( --hover-mask-cutout-edge ) + var( --hover-expanded-corner-radius ) ); }
cnc-avatar-group > cnc-avatar:hover + cnc-avatar[shape="rounded"]:not(.cnc-avatar-group_extra) { --hover-mask-corner-center-x: calc( var( --hover-mask-cutout-edge ) - var( --hover-expanded-corner-radius ) ); }
cnc-avatar-group > cnc-avatar[shape="rounded"]:has(+ cnc-avatar:hover:not(.cnc-avatar-group_extra)), cnc-avatar-group > cnc-avatar:hover + cnc-avatar[shape="rounded"]:not(.cnc-avatar-group_extra) { --avatar-corner-radius: var( --shape-border-radius-rounded , var( --radius-md , 0.375rem ) ); --hover-expanded-corner-radius: calc( var( --avatar-corner-radius ) + var( --hover-avatar-expansion ) + var( --container-ring-width , 3px ) ); --hover-mask-top-corner-gradient: radial-gradient( circle var( --hover-expanded-corner-radius ) at var( --hover-mask-corner-center-x ) 100% , transparent calc( var( --hover-expanded-corner-radius ) - 0.5px ) , #000 var( --hover-expanded-corner-radius ) ); --hover-mask-bottom-corner-gradient: radial-gradient( circle var( --hover-expanded-corner-radius ) at var( --hover-mask-corner-center-x ) 0% , transparent calc( var( --hover-expanded-corner-radius ) - 0.5px ) , #000 var( --hover-expanded-corner-radius ) ); }
cnc-avatar-group > cnc-avatar[shape="rounded"]:has(+ cnc-avatar:hover:not(.cnc-avatar-group_extra)) > .cnc-avatar_container, cnc-avatar-group > cnc-avatar:hover + cnc-avatar[shape="rounded"]:not(.cnc-avatar-group_extra) > .cnc-avatar_container { -webkit-mask-image: var( --hover-mask-top-corner-gradient ) , var( --hover-mask-bottom-corner-gradient ) , var( --hover-mask-edge-gradient ); mask-image: var( --hover-mask-top-corner-gradient ) , var( --hover-mask-bottom-corner-gradient ) , var( --hover-mask-edge-gradient ); -webkit-mask-position: top , bottom , center; mask-position: top , bottom , center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% var( --avatar-corner-radius ) , 100% var( --avatar-corner-radius ) , 100% 100%; mask-size: 100% var( --avatar-corner-radius ) , 100% var( --avatar-corner-radius ) , 100% 100%; }
cnc-avatar-group > cnc-avatar:hover { z-index: 1000; transform: scale( 1.08 ); -webkit-mask-image: none !important; mask-image: none !important; }
cnc-avatar-group > cnc-avatar.cnc-avatar-group_extra { z-index: 999; margin-left: var( --container-ring-width , 3px ); -webkit-mask-image: none !important; mask-image: none !important; }
cnc-avatar-group > cnc-avatar.cnc-avatar-group_extra:first-child { margin-left: 0; }
cnc-avatar-group[reverse]:not([reverse="false"]) > cnc-avatar:has(+ cnc-avatar.cnc-avatar-group_extra) { -webkit-mask-image: none !important; mask-image: none !important; }
cnc-avatar-group[animation]:not([animation="false"]):not([animation="none"]) > cnc-avatar, cnc-avatar-group.fade-in > cnc-avatar, cnc-avatar-group.hover\:fade-in:hover > cnc-avatar, .group:hover cnc-avatar-group.group-hover\:fade-in > cnc-avatar { opacity: 0; animation: cnc-avatar-group-cnc-avatar-group-fade-in var( --avatar-animation-duration ) var( --avatar-animation-timing ) forwards; animation-delay: calc( var( --avatar-animation-index , var( --avatar-index , 0 ) ) * var( --avatar-animation-stagger-delay ) ); }
@media (prefers-reduced-motion: reduce) {
cnc-avatar-group[animation]:not([animation="false"]):not([animation="none"]) > cnc-avatar, cnc-avatar-group.fade-in > cnc-avatar, cnc-avatar-group.hover\:fade-in:hover > cnc-avatar, .group:hover cnc-avatar-group.group-hover\:fade-in > cnc-avatar { animation-duration: 1ms; animation-delay: 0ms; animation-iteration-count: 1; }
}
}
@keyframes cnc-avatar-group-cnc-avatar-group-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@layer app-widgets {
cnc-badge .badge { padding: 0 0.375rem; border: 2px solid #e2e8f0; line-height: 1.25rem; box-sizing: border-box; min-width: 1.5rem; height: 1.5rem; text-align: center; }
cnc-badge .badge.dot { width: 1.5rem; padding: calc(var(--box-spacing) * 0); }
cnc-badge .badge.default { background-color: var(--color-gray-400); }
cnc-badge .badge.primary { background-color: var(--color-primary-400); }
cnc-badge .badge.danger { background-color: var(--color-danger-400); }
cnc-badge .badge.success { background-color: var(--color-success-400); }
cnc-badge .badge.warning { background-color: var(--color-warning-400); }
cnc-badge .badge.info { background-color: var(--color-info-400); }
cnc-badge .badge.tr { top: -0.5rem; right: -0.625rem; }
cnc-badge .badge.tl { top: -0.5rem; left: -0.625rem; }
cnc-badge .badge.br { bottom: -0.625rem; right: -0.625rem; }
cnc-badge .badge.bl { bottom: -0.625rem; left: -0.625rem; }
cnc-badge .badge.r { top: 25%; right: -0.625rem; }
cnc-badge .badge.l { top: 25%; left: -0.625rem; }
cnc-badge .badge.t { top: -0.5rem; right: 33%; }
cnc-badge .badge.b { bottom: -0.625rem; right: 33%; }
}
@layer app-widgets {
cnc-block { display: flex; flex-direction: column; flex: 1; }
cnc-block .block-content { position: relative; display: flex; flex-direction: column; flex: 1; overflow: auto; }
}
@layer app-widgets {
cnc-breadcrumbs { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-breadcrumbs[size="xxs"] { --label-font-size: 0.625rem; --icon-size: 0.75rem; --separator-size: 0.75rem; --item-gap: 0.125rem; --scroll-size: 1.25rem; }
cnc-breadcrumbs[size="xs"] { --label-font-size: 0.75rem; --icon-size: 0.875rem; --separator-size: 0.875rem; --item-gap: 0.175rem; --scroll-size: 1.375rem; }
cnc-breadcrumbs[size="sm"] { --label-font-size: 0.8125rem; --icon-size: 1rem; --separator-size: 1rem; --item-gap: 0.25rem; --scroll-size: 1.5rem; }
cnc-breadcrumbs[size="md"], cnc-breadcrumbs:not([size]) { --label-font-size: 0.875rem; --icon-size: 1.25rem; --separator-size: 1.25rem; --item-gap: 0.35rem; --scroll-size: 1.625rem; }
cnc-breadcrumbs[size="lg"] { --label-font-size: 1rem; --icon-size: 1.375rem; --separator-size: 1.375rem; --item-gap: 0.425rem; --scroll-size: 1.75rem; }
cnc-breadcrumbs[size="xl"] { --label-font-size: 1.125rem; --icon-size: 1.5rem; --separator-size: 1.5rem; --item-gap: 0.5rem; --scroll-size: 2rem; }
cnc-breadcrumbs[size="2xl"] { --label-font-size: 1.25rem; --icon-size: 1.75rem; --separator-size: 1.75rem; --item-gap: 0.6rem; --scroll-size: 2.25rem; }
cnc-breadcrumbs { display: block; container-name: breadcrumbs; container-type: inline-size; --item-text-color: var( --color-neutral-500 , #717680 ); --item-text-color-hover: var( --color-neutral-700 , #414651 ); --item-text-color-current: var( --color-neutral-900 , #181d27 ); --description-text-color: var( --color-neutral-400 , #a4a7ae ); --description-font-size: calc( var( --label-font-size ) * 0.85 ); --separator-color: var( --color-neutral-300 , #d5d7da ); --scroll-bg: rgb( 255 255 255 / 0.92 ); --scroll-color: var( --color-neutral-700 , #414651 ); --scroll-shadow: 0 1px 4px rgb( 0 0 0 / 0.2 ); }
.dark cnc-breadcrumbs { --item-text-color: var( --color-neutral-400 , #a4a7ae ); --item-text-color-hover: var( --color-neutral-200 , #e9eaeb ); --item-text-color-current: var( --color-neutral-100 , #f5f5f5 ); --description-text-color: var( --color-neutral-500 , #717680 ); --separator-color: var( --color-neutral-600 , #535862 ); --scroll-bg: rgb( 40 40 40 / 0.92 ); --scroll-color: var( --color-neutral-200 , #e9eaeb ); }
cnc-breadcrumbs[kind="chevron"], cnc-breadcrumbs:not([kind]) { --separator-mask: var( --icon-chevron-right-svg , url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6' stroke='black' stroke-width='2' fill='none'/%3E%3C/svg%3E" ) ); }
cnc-breadcrumbs[kind="slash"] { --separator-mask: var( --icon-slash-svg , url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5' stroke='black' stroke-width='2'/%3E%3C/svg%3E" ) ); }
cnc-breadcrumbs .cnc-breadcrumbs_nav { color: var( --item-text-color ); }
cnc-breadcrumbs .cnc-breadcrumbs_list { scrollbar-width: none; white-space: nowrap; }
cnc-breadcrumbs .cnc-breadcrumbs_list::-webkit-scrollbar { display: none; }
cnc-breadcrumbs .cnc-breadcrumbs_segment { gap: var( --item-gap ); }
cnc-breadcrumbs .cnc-breadcrumbs_content, cnc-breadcrumbs .cnc-breadcrumbs_ellipsis { gap: calc( var( --item-gap ) / 2 ); color: inherit; background: transparent; border: 0; padding: 0; font: inherit; cursor: pointer; }
cnc-breadcrumbs .cnc-breadcrumbs_link { color: inherit; text-decoration: none; }
cnc-breadcrumbs .cnc-breadcrumbs_icon { inline-size: var( --icon-size ); block-size: var( --icon-size ); }
cnc-breadcrumbs .cnc-breadcrumbs_label, cnc-breadcrumbs .cnc-breadcrumbs_ellipsis { font-size: var( --label-font-size ); font-weight: 500; }
cnc-breadcrumbs .cnc-breadcrumbs_description { margin-inline-start: calc( var( --item-gap ) / 2 ); color: var( --description-text-color ); font-size: var( --description-font-size ); font-weight: 400; }
cnc-breadcrumbs .cnc-breadcrumbs_description::before { content: "("; }
cnc-breadcrumbs .cnc-breadcrumbs_description::after { content: ")"; }
cnc-breadcrumbs .cnc-breadcrumbs_segment[data-ellipsis] { display: none; }
cnc-breadcrumbs .cnc-breadcrumbs_ellipsis { display: inline-flex; align-items: center; }
cnc-breadcrumbs .cnc-breadcrumbs_separator { inline-size: var( --separator-size ); block-size: var( --separator-size ); margin-inline: var( --item-gap ); background: var( --separator-color ); mask-image: var( --separator-mask ); mask-position: center; mask-size: contain; mask-repeat: no-repeat; -webkit-mask-image: var( --separator-mask ); -webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; }
cnc-breadcrumbs .cnc-breadcrumbs_scroll { position: absolute; top: 50%; display: none; align-items: center; justify-content: center; translate: 0 -50%; inline-size: var( --scroll-size ); block-size: var( --scroll-size ); padding: 0; border: 0; border-radius: var( --shape-border-radius ); color: var( --scroll-color ); background: var( --scroll-bg ); box-shadow: var( --scroll-shadow ); z-index: 2; cursor: pointer; }
cnc-breadcrumbs .cnc-breadcrumbs_scroll.visible { display: flex; }
cnc-breadcrumbs .cnc-breadcrumbs_scroll-start { inset-inline-start: 0.125rem; }
cnc-breadcrumbs .cnc-breadcrumbs_scroll-end { inset-inline-end: 0.125rem; }
cnc-breadcrumbs .cnc-breadcrumbs_nav:has(.cnc-breadcrumbs_scroll-start.visible) .cnc-breadcrumbs_list { padding-inline-start: calc( var( --scroll-size ) + 0.375rem ); }
cnc-breadcrumbs .cnc-breadcrumbs_nav:has(.cnc-breadcrumbs_scroll-end.visible) .cnc-breadcrumbs_list { padding-inline-end: calc( var( --scroll-size ) + 0.375rem ); }
cnc-breadcrumbs .cnc-breadcrumbs_content:hover, cnc-breadcrumbs .cnc-breadcrumbs_ellipsis:hover { color: var( --item-text-color-hover ); }
cnc-breadcrumbs .cnc-breadcrumbs_content[aria-current="page"] { color: var( --item-text-color-current ); font-weight: 600; cursor: default; }
@container breadcrumbs (max-width: 32rem) {
cnc-breadcrumbs[condensed] .cnc-breadcrumbs_segment[data-interior] { display: none; }
cnc-breadcrumbs[condensed] .cnc-breadcrumbs_segment[data-ellipsis] { display: flex; }
cnc-breadcrumbs[condensed][expanded] .cnc-breadcrumbs_segment[data-interior], cnc-breadcrumbs[condensed][data-expanded] .cnc-breadcrumbs_segment[data-interior] { display: flex; }
cnc-breadcrumbs[condensed][expanded] .cnc-breadcrumbs_segment[data-ellipsis], cnc-breadcrumbs[condensed][data-expanded] .cnc-breadcrumbs_segment[data-ellipsis] { display: none; }
}
}
@layer app-widgets {
cnc-button:where([shape="square"], [shape="rectangle"]) { --shape-border-radius: 0; }
cnc-button:where([shape="pill"]) { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-button:where([shape="circle"]) { --shape-border-radius: 50%; }
cnc-button:where([shape="rounded"], :not([shape])) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-button[size="xxs"] { --shape-border-radius-rounded: var( --radius-sm , 0.25rem ); --container-font-size: 0.75rem; --container-line-height: 1rem; --container-font-weight: 600; --container-padding: 0.125rem 0.5rem; --container-padding-x-icon-only: 0.125rem; --icon-size: 0.875rem; }
cnc-button[size="xs"] { --shape-border-radius-rounded: var( --radius-md , 0.5rem ); --container-font-size: 0.75rem; --container-line-height: 1rem; --container-font-weight: 600; --container-padding: 0.25rem 0.625rem; --container-padding-x-icon-only: 0.25rem; --icon-size: 0.875rem; }
cnc-button[size="sm"] { --shape-border-radius-rounded: var( --radius-md , 0.5rem ); --container-font-size: 0.875rem; --container-line-height: 1.25rem; --container-font-weight: 600; --container-padding: 0.375rem 0.875rem; --container-padding-x-icon-only: 0.375rem; --icon-size: 1rem; }
cnc-button[size="md"], cnc-button:not([size]) { --shape-border-radius-rounded: var( --radius-lg , 0.55rem ); --container-font-size: 1rem; --container-line-height: 1.5rem; --container-padding: calc( var( --box-spacing ) * 2 ) calc( var( --box-spacing ) * 4 ); --container-padding-x-icon-only: 0.5rem; --icon-size: 1rem; }
cnc-button[size="lg"] { --shape-border-radius-rounded: var( --radius-lg , 0.55rem ); --container-font-size: 1.125rem; --container-line-height: 1.75rem; --container-padding: 0.625rem 1.125rem; --container-padding-x-icon-only: 0.625rem; --container-gap: 0.5rem; --icon-size: 1.25rem; }
cnc-button[size="xl"] { --shape-border-radius-rounded: var( --radius-xl , 0.65rem ); --container-font-size: 1.25rem; --container-line-height: 1.75rem; --container-padding: 0.875rem 1.25rem; --container-padding-x-icon-only: 0.875rem; --container-gap: 0.5rem; --icon-size: 1.25rem; }
cnc-button[size="2xl"] { --shape-border-radius-rounded: var( --radius-xl , 0.65rem ); --container-font-size: 1.5rem; --container-line-height: 2rem; --container-padding: 1rem 1.5rem; --container-padding-x-icon-only: 1rem; --icon-size: 1.5rem; }
cnc-button { line-height: 0; --container-font-weight: 500; --container-transition-duration: 150ms; --container-transition-timing: linear; --container-border-radius: var( --shape-border-radius , var( --radius-md , 0.375rem ) ); --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --container-width: initial; --container-height: initial; --container-gap: initial; --container-padding: initial; --container-padding-x-icon-only: initial; --container-font-size: initial; --container-line-height: initial; --container-bg: initial; --container-bg-hover: initial; --container-bg-pressed: initial; --container-text-color: initial; --container-text-color-hover: initial; --container-text-color-pressed: initial; --container-border-color: initial; --container-outline-color: initial; --container-outline-offset: initial; --container-outline-width: initial; --container-shadow: initial; --container-shadow-hover: initial; --container-shadow-color: initial; --container-highlight-color: initial; --container-opacity-disabled: initial; --container-animation-duration: initial; --container-animation-timing: initial; --icon-size: initial; --icon-color-hover: initial; --icon-color-pressed: initial; --caret-size: initial; --label-padding-x: initial; }
cnc-button:not([kind]), cnc-button[kind="default"] { --container-bg: var( --color-600 , white ); --container-bg-hover: var( --color-700 , var( --color-neutral-50 ) ); --container-bg-pressed: var( --color-800 , var( --color-neutral-100 ) ); --container-text-color: var( --color-50 , var( --color-neutral-800 ) ); --container-text-color-hover: var( --color-50 , var( --color-neutral-800 ) ); --container-text-color-pressed: var( --color-50 , var( --color-neutral-900 ) ); --container-border-color: var( --color-700 , var( --color-gray-300 ) ); --container-outline-color: var( --color-800 , var( --color-neutral-800 ) ); --container-shadow: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ) , 1px 2px 2px rgba( 0 , 0 , 0 , 0.15 ); --container-shadow-hover: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ) , 0 0px 3px rgba( 0 , 0 , 0 , 0.28 ); --icon-color: var( --color-200 , var( --color-neutral-400 ) ); }
cnc-button-group cnc-button:not([kind]), cnc-button-group cnc-button[kind="default"] { --container-shadow: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ) , 1px 1px 4px rgba( 0 , 0 , 0 , 0.1 ); --container-shadow-hover: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ); }
.dark cnc-button:not([kind]), .dark cnc-button[kind="default"] { --container-bg: var( --color-950 , black ); --container-bg-hover: var( --color-850 , var( --color-neutral-900 ) ); --container-bg-pressed: var( --color-800 , var( --color-neutral-800 ) ); --container-text-color: var( --color-500 , var( --color-neutral-500 ) ); --container-text-color-hover: var( --color-600 , var( --color-neutral-500 ) ); --container-text-color-pressed: var( --color-100 , var( --color-neutral-50 ) ); --container-border-color: var( --color-600 , var( --color-neutral-600 ) ); --container-outline-color: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[kind="utility2"] { --container-bg: var( --color-100 , var( --color-gray-100 ) ); --container-bg-hover: rgb( from black r g b / 2% ); --container-bg-pressed: white; --container-text-color: var( --color-gray-400 ); --container-text-color-hover: var( --color-600 , var( --color-gray-600 ) ); --container-text-color-pressed: var( --color-600 , var( --color-gray-700 ) ); --container-border-color: var( --color-100 , var( --color-gray-100 ) ); --container-outline-color: var( --color-800 , var( --color-gray-800 ) ); --icon-color: var( --color-500 , var( --color-gray-500 ) ); --container-shadow: inset 0 0 0 1px var( --container-border-color ); }
cnc-button[kind="utility"] { --container-bg: transparent; --container-bg-hover: rgb( from black r g b / 2% ); --container-bg-pressed: var( --color-50 , rgb( from black r g b / 3% ) ); --container-text-color: var( --color-gray-400 ); --container-text-color-hover: var( --color-600 , var( --color-gray-600 ) ); --container-text-color-pressed: var( --color-600 , var( --color-gray-700 ) ); --container-border-color: transparent; --container-outline-color: var( --color-800 , var( --color-gray-800 ) ); --icon-color: var( --color-500 , var( --color-gray-500 ) ); --container-shadow: inset 0 0 0 1px var( --container-border-color ); }
.dark cnc-button[kind="utility"] { --container-bg-hover: var( --color-900 , var( --color-neutral-900 ) ); --container-text-color: var( --color-600 , var( --color-neutral-500 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[kind="toolbar"] { --container-bg: transparent; --container-bg-hover: transparent; --container-bg-pressed: white; --container-text-color: var( --color-gray-200 ); --container-text-color-hover: var( --color-600 , var( --color-gray-600 ) ); --container-text-color-pressed: var( --color-600 , var( --color-gray-700 ) ); --container-border-color: var( --color-gray-100 ); --container-outline-color: var( --color-800 , var( --color-gray-800 ) ); --icon-color: var( --color-400 , var( --color-gray-400 ) ); --icon-color-hover: var( --color-500 , var( --color-gray-500 ) ); --icon-color-pressed: var( --color-600 , var( --color-gray-600 ) ); --container-shadow: inset 0 -0.5px 0.5px 0.2px var( --color-200 , transparent ); }
.dark cnc-button[kind="toolbar"] { --container-bg-hover: var( --color-900 , var( --color-neutral-900 ) ); --container-text-color: var( --color-600 , var( --color-neutral-500 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[kind="soft"] { --container-bg: var( --color-100 , rgb( from var( --color-neutral-300 ) r g b / 10% ) ); --container-bg-hover: rgb( from var( --color-200 , var( --color-neutral-300 ) ) r g b / 45% ); --container-bg-pressed: rgb( from var( --color-300 , var( --color-neutral-300 ) ) r g b / 70% ); --container-text-color: var( --color-700 , var( --color-neutral-700 ) ); --container-border-color: var( --color-300 , var( --color-gray-300 ) ); --container-outline-color: transparent; --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --container-shadow: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ) , 1px 2px 2px rgba( 0 , 0 , 0 , 0.15 ); --container-shadow-hover: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ) , 0 0px 3px rgba( 0 , 0 , 0 , 0.28 ); }
cnc-button-group cnc-button[kind="soft"] { --container-shadow: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ); --container-shadow-hover: 0 -2px 0 0 var( --container-shadow-color , #00000015 ) inset , inset 0 0 0 1px var( --container-border-color ); }
.dark cnc-button[kind="soft"] { --container-bg: rgb( from var( --color-700 , var( --color-neutral-700 ) ) r g b / 10% ); --container-bg-hover: rgb( from var( --color-900 , var( --color-neutral-700 ) ) r g b / 30% ); --container-bg-pressed: rgb( from var( --color-900 , var( --color-neutral-700 ) ) r g b / 50% ); --container-border-color: var( --color-800 , var( --color-gray-800 ) ); --container-text-color: var( --color-500 , var( --color-neutral-400 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[kind="outline"], cnc-button [outline]:not([outline="false"]):not([kind="soft"]):not([kind="plain"]):not([kind="link"]):not( [kind="utility"] ):not([kind="utility2"]):not([kind="toolbar"])  { --container-bg: transparent; --container-bg-hover: rgb( from var( --color-200 , var( --color-neutral-200 ) ) r g b / 25% ); --container-bg-pressed: rgb( from var( --color-300 , var( --color-neutral-300 ) ) r g b / 25% ); --container-text-color: var( --color-700 , var( --color-neutral-700 ) ); --container-border-color: var( --color-300 , var( --color-gray-300 ) ); --container-outline-color: transparent; --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --container-shadow: inset 0 0 0 1px var( --container-border-color ); --container-shadow-hover: inset 0 0 0 1px var( --container-border-color ); }
.dark cnc-button[kind="outline"], .dark cnc-button[outline]:not([outline="false"]) { --container-bg: transparent; --container-bg-hover: rgb( from var( --color-900 , var( --color-neutral-700 ) ) r g b / 30% ); --container-bg-pressed: rgb( from var( --color-900 , var( --color-neutral-700 ) ) r g b / 50% ); --container-border-color: var( --color-800 , var( --color-gray-800 ) ); --container-text-color: var( --color-500 , var( --color-neutral-400 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[kind="plain"] { --container-bg: transparent; --container-bg-hover: rgb( from var( --color-500 , var( --color-neutral-500 ) ) r g b / 10% ); --container-bg-pressed: rgb( from var( --color-500 , var( --color-neutral-600 ) ) r g b / 20% ); --container-text-color: var( --color-800 , var( --color-neutral-800 ) ); --container-border-color: transparent; --container-outline-color: transparent; --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --container-shadow: none; }
.dark cnc-button[kind="plain"] { --container-bg-hover: rgb( from var( --color-900 , var( --color-neutral-900 ) ) r g b / 35% ); --container-text-color: var( --color-600 , var( --color-neutral-500 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[kind="link"] { --container-bg: transparent; --container-bg-hover: transparent; --container-text-color: var( --color-800 , var( --color-neutral-800 ) ); --container-border-color: transparent; --container-outline-color: transparent; --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --container-shadow: none; --container-height: min-content; --container-padding: 0 0 2px; --container-border-radius: 0; }
.dark cnc-button[kind="link"] { --container-text-color: var( --color-600 , var( --color-neutral-500 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
cnc-button[wide] { display: block; width: 100%; }
cnc-button[wide] .cnc-button_container { width: 100%; }
cnc-button .cnc-button_container { appearance: none; -webkit-appearance: none; width: var( --container-width , inherit ); height: var( --container-height , auto ); gap: var( --container-gap , 0.25rem ); padding: var( --container-padding , 0.5rem 1rem ); border: 0; border-radius: var( --container-border-radius ); background: var( --container-bg ); background-image: none; box-shadow: var( --container-shadow ); color: var( --container-text-color ); color-scheme: light; cursor: inherit; font-family: inherit; font-size: var( --container-font-size , 1rem ); font-weight: var( --container-font-weight ); line-height: var( --container-line-height ); outline-color: var( --container-outline-color ); outline-offset: var( --container-outline-offset , 2px ); outline-width: var( --container-outline-width , 1px ); }
cnc-button[animation] .cnc-button_container { transition: background-color var( --container-transition-duration ) var( --container-transition-timing ) , box-shadow var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-button .cnc-button_container::before { inset: 1px; border: 1px solid var( --container-highlight-color , color-mix( in oklab , var( --color-white ) 10% , transparent ) ); border-radius: inherit; content: ""; pointer-events: none; mask-image: linear-gradient( to bottom , black 0% , transparent 100% ); -webkit-mask-image: linear-gradient( to bottom , black 0% , transparent 100% ); -webkit-mask-composite: source-in; mask-composite: intersect; position: absolute; }
cnc-button .cnc-button_container:hover { background-color: var( --container-bg-hover , var( --container-bg ) ); color: var( --container-text-color-hover , var( --container-text-color ) ); box-shadow: var( --container-shadow-hover , var( --container-shadow ) ); }
cnc-button[kind="link"] .cnc-button_container:hover { text-decoration: underline; text-underline-offset: 2px; }
cnc-button .cnc-button_container:focus-visible { outline-style: solid; }
cnc-button .cnc-button_container:has(> cnc-icon):not(:has(> :not(cnc-icon))) { padding-inline: var( --container-padding-x-icon-only ); }
cnc-button .cnc-button_container:disabled, cnc-button .cnc-button_container.disabled { cursor: not-allowed; font-style: italic; opacity: var( --container-opacity-disabled , 0.6 ); }
cnc-button.pulse .cnc-button_container, cnc-button.hover\:pulse:hover .cnc-button_container, .group:hover cnc-button.group-hover\:pulse .cnc-button_container, cnc-button[animation="pulse"] .cnc-button_container { animation: cnc-button-cnc-button-pulse var( --container-animation-duration , 2s ) var( --container-animation-timing , cubic-bezier( 0.4 , 0 , 0.6 , 1 ) ) infinite; }
cnc-button .cnc-button_icon, cnc-button .cnc-button_caret { width: var( --icon-size ); height: var( --icon-size ); color: var( --icon-color ) !important; }
cnc-button .cnc-button_caret { width: var( --caret-size ); height: var( --caret-size ); }
cnc-button .cnc-button_label { padding-inline: var( --label-padding-x ); }
cnc-button .cnc-button_container:hover .cnc-button_icon, cnc-button .cnc-button_container:hover .cnc-button_caret { color: var( --icon-color-hover , var( --icon-color ) ) !important; --icon-color: var( --icon-color-hover , var( --icon-color ) ); }
cnc-button .cnc-button_container:active .cnc-button_icon, cnc-button .cnc-button_container:active .cnc-button_caret, cnc-button .cnc-button_container.pressed .cnc-button_icon, cnc-button .cnc-button_container.pressed .cnc-button_caret, cnc-button .cnc-button_container[aria-pressed="true"] .cnc-button_icon, cnc-button .cnc-button_container[aria-pressed="true"] .cnc-button_caret { color: var( --icon-color-pressed , var( --icon-color-hover , var( --icon-color ) ) ) !important; --icon-color: var( --icon-color-pressed , var( --icon-color-hover , var( --icon-color ) ) ); }
cnc-button .cnc-button_container:active, cnc-button .cnc-button_container.pressed, cnc-button .cnc-button_container[aria-pressed="true"], cnc-button[pressed]:not([pressed="false"]) .cnc-button_container { background-color: var( --container-bg-pressed , var( --container-bg-hover , var( --container-bg ) ) ); color: var( --container-text-color-pressed , var( --container-text-color ) ); }
@keyframes cnc-button-cnc-button-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
}
@layer app-widgets {
cnc-button-group { display: inline-flex; position: relative; isolation: isolate; line-height: var( --leading-none ); z-index: 0; }
cnc-button-group[data-stretch="true"], cnc-button-group[stretch], cnc-button-group .stretch { width: 100%; }
cnc-button-group.stretch cnc-button { flex: 1; }
cnc-button-group[data-spaced="true"], cnc-button-group[spaced] { gap: var( --cnc-button-group-gap , 0.125rem ); }
cnc-button-group:not([data-spaced="true"]):not([spaced]) cnc-button:not(:first-child):not(:last-child) button { border-radius: 0 !important; }
cnc-button-group:not([data-spaced="true"]):not([spaced]) cnc-button:first-child:not(:only-child) button { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
cnc-button-group:not([data-spaced="true"]):not([spaced]) cnc-button:last-child:not(:only-child) button { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
cnc-button-group:not([data-spaced="true"]):not([spaced]) cnc-button:not(:first-child) button { margin-left: -1px !important; position: relative; }
cnc-button-group cnc-button.active { z-index: 10; }
cnc-button-group cnc-button:focus-within { z-index: 10; }
}
@layer app-widgets {
cnc-calendar-availability { display: block; width: 100%; }
cnc-calendar-availability .avail-wrapper { width: 100%; display: flex; flex-direction: column; }
cnc-calendar-availability .avail-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: calc(var(--box-spacing) * 3); }
cnc-calendar-availability .avail-title { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); font-weight: var(--font-weight-semibold); color: var(--color-slate-900); }
.dark cnc-calendar-availability .avail-title { color: var(--color-slate-100); }
cnc-calendar-availability .avail-nav { display: flex; gap: calc(var(--spacing) * 1); }
cnc-calendar-availability .avail-nav-btn { display: inline-flex; align-items: center; justify-content: center; width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); border-radius: var(--radius-md); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-200); background-color: var(--color-slate-100); color: var(--color-slate-600); transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); cursor: pointer; }
.dark cnc-calendar-availability .avail-nav-btn { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-300); }
cnc-calendar-availability .avail-nav-btn:hover { background-color: var(--color-slate-50); }
.dark cnc-calendar-availability .avail-nav-btn:hover { background-color: var(--color-slate-600); }
cnc-calendar-availability .avail-nav-icon { color: inherit; width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); display: block; }
cnc-calendar-availability .avail-nav-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
cnc-calendar-availability .avail-dow-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-300); background-color: var(--color-slate-200); text-align: center; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-weight: var(--font-weight-semibold); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-700); }
.dark cnc-calendar-availability .avail-dow-row { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-200); }
cnc-calendar-availability .avail-dow { background-color: var(--color-slate-100); padding-block: calc(var(--box-spacing) * 2); }
.dark cnc-calendar-availability .avail-dow { background-color: var(--color-slate-800); }
cnc-calendar-availability .avail-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background-color: var(--color-slate-200); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
.dark cnc-calendar-availability .avail-grid { background-color: var(--color-slate-700); }
cnc-calendar-availability .avail-day { display: flex; justify-content: center; align-items: center; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px; background-color: var(--color-white); cursor: pointer; border-width: 0px; border-style: var(--tw-border-style); color: var(--color-slate-700); }
.dark cnc-calendar-availability .avail-day { background-color: var(--color-slate-800); color: var(--color-slate-300); }
cnc-calendar-availability .avail-day:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar-availability .avail-day:hover { background-color: var(--color-slate-700); }
cnc-calendar-availability .avail-day-out { background-color: var(--color-slate-50); color: var(--color-slate-400); }
.dark cnc-calendar-availability .avail-day-out { background-color: var(--color-slate-900); color: var(--color-slate-500); }
cnc-calendar-availability .avail-day-italic { font-style: italic; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-calendar-availability .avail-day-nonwork { background-color: var(--color-slate-100); color: var(--color-slate-400); cursor: default; }
.dark cnc-calendar-availability .avail-day-nonwork { background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent); color: var(--color-slate-500); }
cnc-calendar-availability .avail-day-selected { background-color: var(--color-primary-600); color: var(--color-white); font-weight: var(--font-weight-semibold); border-radius: calc(infinity * 1px); }
cnc-calendar-availability .avail-day-selected:hover { background-color: var(--color-primary-700); }
cnc-calendar-availability .avail-today { display: inline-flex; height: calc(var(--spacing) * 6); width: calc(var(--spacing) * 6); align-items: center; justify-content: center; border-radius: calc(infinity * 1px); border-width: 1px; border-style: var(--tw-border-style); border-style: solid; border-color: var(--color-slate-400); }
.dark cnc-calendar-availability .avail-today { border-color: var(--color-slate-500); }
cnc-calendar-availability .avail-day-selected .avail-today { border-color: var(--color-white); }
cnc-calendar-availability .avail-day-num { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: calc(infinity * 1px); }
}
@layer app-widgets {
cnc-calendar { display: block; width: 100%; }
cnc-calendar .cal-wrapper { width: 100%; display: flex; flex-direction: column; }
cnc-calendar .cal-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); padding-block: calc(var(--box-spacing) * 4); padding-inline: calc(var(--box-spacing) * 6); }
.dark cnc-calendar .cal-header { border-color: var(--color-slate-700); }
cnc-calendar .cal-title { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); font-weight: var(--font-weight-semibold); color: var(--color-slate-900); }
.dark cnc-calendar .cal-title { color: var(--color-slate-100); }
cnc-calendar .cal-nav { display: flex; gap: calc(var(--spacing) * 1); }
cnc-calendar .cal-nav-btn { display: inline-flex; align-items: center; justify-content: center; width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); border-radius: var(--radius-md); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-200); background-color: var(--color-slate-100); color: var(--color-slate-600); transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); cursor: pointer; }
.dark cnc-calendar .cal-nav-btn { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-300); }
cnc-calendar .cal-nav-btn:hover { background-color: var(--color-slate-50); }
.dark cnc-calendar .cal-nav-btn:hover { background-color: var(--color-slate-600); }
cnc-calendar .cal-grid-header { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-300); background-color: var(--color-slate-200); text-align: center; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-weight: var(--font-weight-semibold); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-700); }
.dark cnc-calendar .cal-grid-header { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-200); }
cnc-calendar .cal-dow { background-color: var(--color-slate-100); padding-block: calc(var(--box-spacing) * 2); }
.dark cnc-calendar .cal-dow { background-color: var(--color-slate-800); }
cnc-calendar .cal-dow-long { display: none; }
@media (min-width: 640px) {
cnc-calendar .cal-dow-long { display: inline; }
}
cnc-calendar .cal-grid { background-color: var(--color-slate-200); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-700); }
.dark cnc-calendar .cal-grid { background-color: var(--color-slate-700); color: var(--color-slate-300); }
cnc-calendar .cal-grid-desktop { display: none; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; }
@media (min-width: 1024px) {
cnc-calendar .cal-grid-desktop { display: grid; }
}
cnc-calendar .cal-grid-mobile { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; }
@media (min-width: 1024px) {
cnc-calendar .cal-grid-mobile { display: none; }
}
cnc-calendar .cal-day { position: relative; padding-block: calc(var(--box-spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); padding-bottom: calc(var(--box-spacing) * 16); background-color: var(--color-slate-100); cursor: pointer; }
.dark cnc-calendar .cal-day { background-color: var(--color-slate-800); }
cnc-calendar .cal-day-out { background-color: var(--color-slate-50); color: var(--color-slate-400); }
.dark cnc-calendar .cal-day-out { background-color: var(--color-slate-900); color: var(--color-slate-500); }
cnc-calendar .cal-day-clickable { cursor: pointer; }
cnc-calendar .cal-day-clickable:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar .cal-day-clickable:hover { background-color: var(--color-slate-700); }
cnc-calendar .cal-day:not(.cal-day-out):hover { background-color: var(--color-slate-100); }
.dark cnc-calendar .cal-day:not(.cal-day-out):hover { background-color: var(--color-slate-700); }
cnc-calendar .cal-day-selected { background-color: var(--color-primary-50); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-inset: inset; --tw-ring-color: var(--color-primary-500); }
.dark cnc-calendar .cal-day-selected { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
cnc-calendar .cal-today { display: inline-flex; height: calc(var(--spacing) * 6); width: calc(var(--spacing) * 6); align-items: center; justify-content: center; border-radius: calc(infinity * 1px); background-color: var(--color-primary-600); font-weight: var(--font-weight-semibold); color: var(--color-white); }
cnc-calendar .cal-event { margin-top: calc(var(--box-spacing) * 2); display: flex; align-items: center; gap: calc(var(--spacing) * 2); }
cnc-calendar .cal-event-link { text-decoration-line: none; }
cnc-calendar .cal-event-more { cursor: pointer; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-neutral-500); }
.dark cnc-calendar .cal-event-more { color: var(--color-neutral-400); }
cnc-calendar .cal-event-more:hover { color: var(--color-primary-600); }
.dark cnc-calendar .cal-event-more:hover { color: var(--color-primary-400); }
cnc-calendar .cal-event-link:hover .cal-event-name, cnc-calendar .cal-event-link:hover .cal-event-time { color: var(--color-primary-600); }
.dark cnc-calendar .cal-event-link:hover .cal-event-name, .dark cnc-calendar .cal-event-link:hover .cal-event-time { color: var(--color-primary-400); }
cnc-calendar .cal-event-name { flex: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--font-weight-medium); color: var(--color-slate-900); }
.dark cnc-calendar .cal-event-name { color: var(--color-slate-100); }
cnc-calendar .cal-event-time { display: none; margin-left: calc(var(--box-spacing) * 3); flex: none; color: var(--color-slate-500); }
.dark cnc-calendar .cal-event-time { color: var(--color-slate-400); }
@media (min-width: 1280px) {
cnc-calendar .cal-event-time { display: block; }
}
cnc-calendar .cal-day-mobile { display: flex; height: calc(var(--spacing) * 14); flex-direction: column; padding-block: calc(var(--box-spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); background-color: var(--color-slate-100); cursor: pointer; border-width: 0px; border-style: var(--tw-border-style); }
.dark cnc-calendar .cal-day-mobile { background-color: var(--color-slate-800); }
cnc-calendar .cal-day-mobile:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar .cal-day-mobile:hover { background-color: var(--color-slate-700); }
cnc-calendar .cal-day-mobile:focus { z-index: 10; }
cnc-calendar .cal-day-mobile.cal-day-selected { background-color: var(--color-primary-50); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-inset: inset; --tw-ring-color: var(--color-primary-500); }
.dark cnc-calendar .cal-day-mobile.cal-day-selected { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
cnc-calendar .cal-day-mobile.cal-day-out { background-color: var(--color-slate-50); color: var(--color-slate-400); }
.dark cnc-calendar .cal-day-mobile.cal-day-out { background-color: var(--color-slate-900); color: var(--color-slate-500); }
cnc-calendar .cal-day-num { margin-left: auto; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-calendar .cal-dots { margin-inline: calc(var(--box-spacing) * -0.5); margin-top: auto; display: flex; flex-wrap: wrap-reverse; }
cnc-calendar .cal-dot { margin-inline: calc(var(--box-spacing) * 0.5); margin-bottom: calc(var(--box-spacing) * 1); height: calc(var(--spacing) * 1.5); width: calc(var(--spacing) * 1.5); border-radius: calc(infinity * 1px); background-color: var(--color-slate-400); display: block; }
.dark cnc-calendar .cal-dot { background-color: var(--color-slate-500); }
cnc-calendar .cal-events-mobile { display: block; }
@media (min-width: 1024px) {
cnc-calendar .cal-events-mobile { display: none; }
}
cnc-calendar .cal-event-card { padding-block: calc(var(--box-spacing) * 2); }
cnc-calendar .cal-event-card-body { overflow: hidden; border-radius: var(--radius-lg); background-color: var(--color-slate-100); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent); display: flex; padding: calc(var(--box-spacing) * 4); padding-right: calc(var(--box-spacing) * 6); align-items: center; }
.dark cnc-calendar .cal-event-card-body { background-color: var(--color-slate-800); --tw-ring-color: color-mix(in oklab, var(--color-white) 5%, transparent); }
cnc-calendar .cal-event-card-body:hover { background-color: var(--color-slate-50); }
.dark cnc-calendar .cal-event-card-body:hover { background-color: var(--color-slate-700); }
cnc-calendar .cal-event-card-name { font-weight: var(--font-weight-semibold); color: var(--color-slate-900); flex: auto; }
.dark cnc-calendar .cal-event-card-name { color: var(--color-slate-100); }
cnc-calendar .cal-event-card-time { margin-top: calc(var(--box-spacing) * 2); display: flex; align-items: center; color: var(--color-slate-700); }
.dark cnc-calendar .cal-event-card-time { color: var(--color-slate-300); }
cnc-calendar .cal-nav-icon { color: inherit; width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); display: block; }
cnc-calendar .cal-nav-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
cnc-calendar .cal-clock-icon { vertical-align: middle; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); margin-right: calc(var(--box-spacing) * 2); color: var(--color-slate-400); display: inline-block; }
.dark cnc-calendar .cal-clock-icon { color: var(--color-slate-500); }
cnc-calendar .cal-clock-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
}
@layer app-widgets {
cnc-calendar-compact { display: block; width: 100%; }
cnc-calendar-compact .compact-wrapper { text-align: center; }
cnc-calendar-compact .compact-header { display: flex; align-items: center; justify-content: space-between; color: var(--color-slate-900); }
.dark cnc-calendar-compact .compact-header { color: var(--color-slate-100); }
cnc-calendar-compact .compact-nav-btn { margin: calc(var(--box-spacing) * -1.5); display: flex; align-items: center; justify-content: center; padding: calc(var(--box-spacing) * 1.5); color: var(--color-slate-400); cursor: pointer; border-width: 0px; border-style: var(--tw-border-style); background-color: transparent; }
.dark cnc-calendar-compact .compact-nav-btn { color: var(--color-slate-300); }
cnc-calendar-compact .compact-nav-btn:hover { color: var(--color-slate-500); }
.dark cnc-calendar-compact .compact-nav-btn:hover { color: var(--color-slate-100); }
cnc-calendar-compact .compact-nav-icon { color: inherit; width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); display: block; }
cnc-calendar-compact .compact-nav-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
cnc-calendar-compact .compact-title { font-weight: var(--font-weight-semibold); }
cnc-calendar-compact .compact-dow-row { margin-top: calc(var(--box-spacing) * 4); display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-500); }
.dark cnc-calendar-compact .compact-dow-row { color: var(--color-slate-400); }
cnc-calendar-compact .compact-grid { isolation: isolate; margin-top: calc(var(--box-spacing) * 2); display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-radius: var(--radius-md); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-slate-200); background-color: var(--color-white); }
.dark cnc-calendar-compact .compact-grid { --tw-ring-color: var(--color-slate-600); background-color: var(--color-slate-800); }
cnc-calendar-compact .compact-day { position: relative; display: flex; align-items: center; justify-content: center; border-width: 0px; border-style: var(--tw-border-style); background-color: transparent; cursor: pointer; }
cnc-calendar-compact .compact-day-in { color: var(--color-slate-900); }
.dark cnc-calendar-compact .compact-day-in { color: var(--color-slate-200); }
cnc-calendar-compact .compact-day-in:hover { border-radius: calc(infinity * 1px); background-color: var(--color-slate-200); }
.dark cnc-calendar-compact .compact-day-in:hover { background-color: var(--color-slate-700); }
cnc-calendar-compact .compact-day-out { color: var(--color-slate-400); }
.dark cnc-calendar-compact .compact-day-out { color: var(--color-slate-500); }
cnc-calendar-compact .compact-day-out:hover { border-radius: calc(infinity * 1px); background-color: var(--color-slate-200); }
.dark cnc-calendar-compact .compact-day-out:hover { background-color: var(--color-slate-700); }
cnc-calendar-compact .compact-day-num { cursor: pointer; max-width: 39px; width: 39px; --tw-leading: 39px; line-height: 39px; display: inline-block; text-align: center; }
cnc-calendar-compact .compact-day-selected { border-radius: calc(infinity * 1px); color: var(--color-white); background-color: var(--color-primary-600); font-weight: var(--font-weight-semibold); }
cnc-calendar-compact .compact-day-dot { position: absolute; bottom: 3px; left: 50%; height: calc(var(--spacing) * 1); width: calc(var(--spacing) * 1); --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); border-radius: calc(infinity * 1px); background-color: var(--color-primary-500); }
cnc-calendar-compact .compact-day-selected .compact-day-dot { background-color: var(--color-white); }
cnc-calendar-compact .compact-day-out .compact-day-dot { background-color: var(--color-slate-300); }
.dark cnc-calendar-compact .compact-day-out .compact-day-dot { background-color: var(--color-slate-600); }
cnc-calendar-compact .compact-day-selected:hover { background-color: var(--color-primary-700); }
cnc-calendar-compact .compact-day-range-end { color: var(--color-white); background-color: var(--color-primary-600); font-weight: var(--font-weight-semibold); }
cnc-calendar-compact .compact-day-range-start { border-top-left-radius: var(--radius-3xl); border-bottom-left-radius: var(--radius-3xl); border-top-right-radius: var(--radius-none); border-bottom-right-radius: var(--radius-none); }
cnc-calendar-compact .compact-day-range-end-side { border-top-left-radius: var(--radius-none); border-bottom-left-radius: var(--radius-none); border-top-right-radius: var(--radius-3xl); border-bottom-right-radius: var(--radius-3xl); }
cnc-calendar-compact .compact-day-range-both { border-radius: calc(infinity * 1px); }
cnc-calendar-compact .compact-day-in-range { background-color: var(--color-slate-200); }
.dark cnc-calendar-compact .compact-day-in-range { background-color: var(--color-slate-600); }
cnc-calendar-compact .compact-day-today { border-radius: calc(infinity * 1px); border-width: 1px; border-style: var(--tw-border-style); border-style: solid; border-color: var(--color-slate-400); font-weight: var(--font-weight-semibold); }
.dark cnc-calendar-compact .compact-day-today { border-color: var(--color-slate-500); }
cnc-calendar-compact .compact-day-today:hover { background-color: var(--color-slate-400); }
.dark cnc-calendar-compact .compact-day-today:hover { background-color: var(--color-slate-600); }
cnc-calendar-compact .compact-events { margin-top: calc(var(--box-spacing) * 4); }
cnc-calendar-compact .compact-event-card { padding-block: calc(var(--box-spacing) * 2); }
cnc-calendar-compact .compact-event-body { overflow: hidden; border-radius: var(--radius-lg); background-color: var(--color-slate-100); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent); display: flex; padding: calc(var(--box-spacing) * 4); padding-right: calc(var(--box-spacing) * 6); align-items: center; }
.dark cnc-calendar-compact .compact-event-body { background-color: var(--color-slate-800); --tw-ring-color: color-mix(in oklab, var(--color-white) 5%, transparent); }
cnc-calendar-compact .compact-event-body:hover { background-color: var(--color-slate-50); }
.dark cnc-calendar-compact .compact-event-body:hover { background-color: var(--color-slate-700); }
cnc-calendar-compact .compact-event-name { font-weight: var(--font-weight-semibold); color: var(--color-slate-900); flex: auto; text-align: left; }
.dark cnc-calendar-compact .compact-event-name { color: var(--color-slate-100); }
cnc-calendar-compact .compact-event-meta { display: flex; align-items: center; color: var(--color-slate-700); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); gap: calc(var(--spacing) * 2); }
.dark cnc-calendar-compact .compact-event-meta { color: var(--color-slate-300); }
cnc-calendar-compact .compact-event-date { color: var(--color-slate-400); }
.dark cnc-calendar-compact .compact-event-date { color: var(--color-slate-500); }
cnc-calendar-compact .compact-clock-icon { vertical-align: middle; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); color: var(--color-slate-400); display: inline-block; }
.dark cnc-calendar-compact .compact-clock-icon { color: var(--color-slate-500); }
cnc-calendar-compact .compact-clock-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
}
@layer app-widgets {
cnc-calendar-event { display: block; width: 100%; }
cnc-calendar-event .event-wrapper { width: 100%; display: flex; flex-direction: column; }
cnc-calendar-event .event-header { display: flex; align-items: center; justify-content: space-between; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); padding-block: calc(var(--box-spacing) * 4); padding-inline: calc(var(--box-spacing) * 6); }
.dark cnc-calendar-event .event-header { border-color: var(--color-slate-700); }
cnc-calendar-event .event-title { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); font-weight: var(--font-weight-semibold); color: var(--color-slate-900); }
.dark cnc-calendar-event .event-title { color: var(--color-slate-100); }
cnc-calendar-event .event-nav { display: flex; gap: calc(var(--spacing) * 1); }
cnc-calendar-event .event-nav-btn { display: inline-flex; align-items: center; justify-content: center; width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); border-radius: var(--radius-md); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-200); background-color: var(--color-slate-100); color: var(--color-slate-600); transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); cursor: pointer; }
.dark cnc-calendar-event .event-nav-btn { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-300); }
cnc-calendar-event .event-nav-btn:hover { background-color: var(--color-slate-50); }
.dark cnc-calendar-event .event-nav-btn:hover { background-color: var(--color-slate-600); }
cnc-calendar-event .event-nav-icon { color: inherit; width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); display: block; }
cnc-calendar-event .event-nav-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
cnc-calendar-event .event-dow-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-300); background-color: var(--color-slate-200); text-align: center; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-weight: var(--font-weight-semibold); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-700); }
.dark cnc-calendar-event .event-dow-row { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-200); }
cnc-calendar-event .event-dow { background-color: var(--color-slate-100); padding-block: calc(var(--box-spacing) * 2); }
.dark cnc-calendar-event .event-dow { background-color: var(--color-slate-800); }
cnc-calendar-event .event-dow-long { display: none; }
@media (min-width: 640px) {
cnc-calendar-event .event-dow-long { display: inline; }
}
cnc-calendar-event .event-grid-desktop { display: none; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background-color: var(--color-slate-200); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-700); }
.dark cnc-calendar-event .event-grid-desktop { background-color: var(--color-slate-700); color: var(--color-slate-300); }
@media (min-width: 1024px) {
cnc-calendar-event .event-grid-desktop { display: grid; }
}
cnc-calendar-event .event-day { position: relative; padding-block: calc(var(--box-spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); padding-bottom: calc(var(--box-spacing) * 16); background-color: var(--color-slate-100); cursor: pointer; }
.dark cnc-calendar-event .event-day { background-color: var(--color-slate-800); }
cnc-calendar-event .event-day-out { background-color: var(--color-slate-50); color: var(--color-slate-400); cursor: pointer; }
.dark cnc-calendar-event .event-day-out { background-color: var(--color-slate-900); color: var(--color-slate-500); }
cnc-calendar-event .event-day-out:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar-event .event-day-out:hover { background-color: var(--color-slate-700); }
cnc-calendar-event .event-day:not(.event-day-out):hover { background-color: var(--color-slate-100); }
.dark cnc-calendar-event .event-day:not(.event-day-out):hover { background-color: var(--color-slate-700); }
cnc-calendar-event .event-day-selected { background-color: var(--color-primary-50); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-inset: inset; --tw-ring-color: var(--color-primary-500); }
.dark cnc-calendar-event .event-day-selected { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
cnc-calendar-event .event-today { display: inline-flex; height: calc(var(--spacing) * 6); width: calc(var(--spacing) * 6); align-items: center; justify-content: center; border-radius: calc(infinity * 1px); background-color: var(--color-primary-600); font-weight: var(--font-weight-semibold); color: var(--color-white); }
cnc-calendar-event .event-ev { margin-top: calc(var(--box-spacing) * 2); display: flex; align-items: center; gap: calc(var(--spacing) * 2); }
cnc-calendar-event .event-ev-link { text-decoration-line: none; }
cnc-calendar-event .event-ev-link:hover .event-ev-name, cnc-calendar-event .event-ev-link:hover .event-ev-time { color: var(--color-primary-600); }
.dark cnc-calendar-event .event-ev-link:hover .event-ev-name, .dark cnc-calendar-event .event-ev-link:hover .event-ev-time { color: var(--color-primary-400); }
cnc-calendar-event .event-ev-name { flex: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--font-weight-medium); color: var(--color-slate-900); }
.dark cnc-calendar-event .event-ev-name { color: var(--color-slate-100); }
cnc-calendar-event .event-ev-time { display: none; margin-left: calc(var(--box-spacing) * 3); flex: none; color: var(--color-slate-500); }
.dark cnc-calendar-event .event-ev-time { color: var(--color-slate-400); }
@media (min-width: 1280px) {
cnc-calendar-event .event-ev-time { display: block; }
}
cnc-calendar-event .event-grid-mobile { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background-color: var(--color-slate-200); }
.dark cnc-calendar-event .event-grid-mobile { background-color: var(--color-slate-700); }
@media (min-width: 1024px) {
cnc-calendar-event .event-grid-mobile { display: none; }
}
cnc-calendar-event .event-mday { display: flex; height: calc(var(--spacing) * 14); flex-direction: column; padding-block: calc(var(--box-spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); background-color: var(--color-slate-100); cursor: pointer; border-width: 0px; border-style: var(--tw-border-style); }
.dark cnc-calendar-event .event-mday { background-color: var(--color-slate-800); }
cnc-calendar-event .event-mday:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar-event .event-mday:hover { background-color: var(--color-slate-700); }
cnc-calendar-event .event-mday-out { background-color: var(--color-slate-50); color: var(--color-slate-400); }
.dark cnc-calendar-event .event-mday-out { background-color: var(--color-slate-900); color: var(--color-slate-500); }
cnc-calendar-event .event-mday-selected { background-color: var(--color-primary-50); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-inset: inset; --tw-ring-color: var(--color-primary-500); }
.dark cnc-calendar-event .event-mday-selected { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
cnc-calendar-event .event-mday-num { margin-left: auto; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-calendar-event .event-dots { margin-inline: calc(var(--box-spacing) * -0.5); margin-top: auto; display: flex; flex-wrap: wrap-reverse; }
cnc-calendar-event .event-dot { margin-inline: calc(var(--box-spacing) * 0.5); margin-bottom: calc(var(--box-spacing) * 1); height: calc(var(--spacing) * 1.5); width: calc(var(--spacing) * 1.5); border-radius: calc(infinity * 1px); background-color: var(--color-slate-400); display: block; }
.dark cnc-calendar-event .event-dot { background-color: var(--color-slate-500); }
cnc-calendar-event .event-cards-mobile { display: block; }
@media (min-width: 1024px) {
cnc-calendar-event .event-cards-mobile { display: none; }
}
cnc-calendar-event .event-card { padding-block: calc(var(--box-spacing) * 2); }
cnc-calendar-event .event-card-body { overflow: hidden; border-radius: var(--radius-lg); background-color: var(--color-slate-100); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent); display: flex; padding: calc(var(--box-spacing) * 4); padding-right: calc(var(--box-spacing) * 6); align-items: center; }
.dark cnc-calendar-event .event-card-body { background-color: var(--color-slate-800); --tw-ring-color: color-mix(in oklab, var(--color-white) 5%, transparent); }
cnc-calendar-event .event-card-body:hover { background-color: var(--color-slate-50); }
.dark cnc-calendar-event .event-card-body:hover { background-color: var(--color-slate-700); }
cnc-calendar-event .event-card-name { font-weight: var(--font-weight-semibold); color: var(--color-slate-900); flex: auto; }
.dark cnc-calendar-event .event-card-name { color: var(--color-slate-100); }
cnc-calendar-event .event-card-time { display: flex; align-items: center; color: var(--color-slate-700); }
.dark cnc-calendar-event .event-card-time { color: var(--color-slate-300); }
cnc-calendar-event .event-clock-icon { vertical-align: middle; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); margin-right: calc(var(--box-spacing) * 2); color: var(--color-slate-400); display: inline-block; }
.dark cnc-calendar-event .event-clock-icon { color: var(--color-slate-500); }
cnc-calendar-event .event-clock-icon svg { fill: currentColor; width: 100%; height: 100%; display: block; }
}
@layer app-widgets {
cnc-calendar-scroller { display: block; width: 100%; }
cnc-calendar-scroller .scroller-wrapper { width: 100%; }
cnc-calendar-scroller .scroller-header { display: flex; align-items: center; justify-content: center; gap: calc(var(--spacing) * 1); margin-bottom: calc(var(--box-spacing) * 2); }
cnc-calendar-scroller .scroller-title { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-semibold); color: var(--color-slate-700); }
.dark cnc-calendar-scroller .scroller-title { color: var(--color-slate-300); }
cnc-calendar-scroller .scroller-nav-btn { flex: none; display: flex; align-items: center; justify-content: center; padding: calc(var(--box-spacing) * 1); cursor: pointer; background-color: transparent; border-width: 0px; border-style: var(--tw-border-style); border-radius: 0.25rem; }
cnc-calendar-scroller .scroller-nav-btn:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar-scroller .scroller-nav-btn:hover { background-color: var(--color-slate-700); }
cnc-calendar-scroller .scroller-nav-icon { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); color: var(--color-slate-400); }
.dark cnc-calendar-scroller .scroller-nav-icon { color: var(--color-slate-500); }
cnc-calendar-scroller .scroller-body { display: flex; align-items: center; justify-content: center; vertical-align: middle; }
cnc-calendar-scroller .scroller-arrow { flex: none; padding: calc(var(--box-spacing) * 1); cursor: pointer; background-color: transparent; border-width: 0px; border-style: var(--tw-border-style); }
cnc-calendar-scroller .scroller-arrow-svg { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 8); margin-top: calc(var(--box-spacing) * 2); color: var(--color-slate-400); }
.dark cnc-calendar-scroller .scroller-arrow-svg { color: var(--color-slate-600); }
cnc-calendar-scroller .scroller-track { overscroll-behavior-x: contain; flex: 1; position: relative; width: 100%; margin-top: calc(var(--box-spacing) * 2); display: grid; gap: calc(var(--spacing) * 2); padding: calc(var(--box-spacing) * 1); grid-auto-flow: column; grid-auto-columns: max-content; overflow-y: auto; scroll-snap-type: x var(--tw-scroll-snap-strictness); --tw-scroll-snap-strictness: mandatory; border-radius: var(--radius-md); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-200); background-color: var(--color-white); }
.dark cnc-calendar-scroller .scroller-track { border-color: var(--color-slate-700); background-color: var(--color-slate-800); }
cnc-calendar-scroller .scroller-day { display: flex; justify-content: center; width: calc(var(--spacing) * 12); scroll-snap-align: start; cursor: pointer; border-radius: var(--radius-lg); color: var(--color-slate-900); user-select: none; }
.dark cnc-calendar-scroller .scroller-day { color: var(--color-slate-200); }
cnc-calendar-scroller .scroller-day:hover { background-color: var(--color-slate-200); border-radius: var(--radius-lg); }
.dark cnc-calendar-scroller .scroller-day:hover { background-color: var(--color-slate-700); }
cnc-calendar-scroller .scroller-day-nonwork { color: var(--color-slate-400); background-color: var(--color-slate-50); }
.dark cnc-calendar-scroller .scroller-day-nonwork { color: var(--color-slate-500); background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent); }
cnc-calendar-scroller .scroller-day-selected { border-radius: var(--radius-lg); color: var(--color-white); background-color: var(--color-primary-600); font-weight: var(--font-weight-semibold); }
cnc-calendar-scroller .scroller-day-selected:hover { background-color: var(--color-primary-700); }
cnc-calendar-scroller .scroller-day-range-start { border-top-left-radius: var(--radius-3xl); border-bottom-left-radius: var(--radius-3xl); border-top-right-radius: var(--radius-none); border-bottom-right-radius: var(--radius-none); }
cnc-calendar-scroller .scroller-day-range-end { border-top-left-radius: var(--radius-none); border-bottom-left-radius: var(--radius-none); border-top-right-radius: var(--radius-3xl); border-bottom-right-radius: var(--radius-3xl); }
cnc-calendar-scroller .scroller-day-in-range { background-color: var(--color-slate-200); }
.dark cnc-calendar-scroller .scroller-day-in-range { background-color: var(--color-slate-600); }
cnc-calendar-scroller .scroller-day-today { border-radius: var(--radius-lg); border-width: 1px; border-style: var(--tw-border-style); border-style: solid; border-color: var(--color-slate-400); font-weight: var(--font-weight-semibold); }
.dark cnc-calendar-scroller .scroller-day-today { border-color: var(--color-slate-500); }
cnc-calendar-scroller .scroller-day-today:hover { background-color: var(--color-slate-300); }
.dark cnc-calendar-scroller .scroller-day-today:hover { background-color: var(--color-slate-600); }
cnc-calendar-scroller .scroller-day-inner { display: flex; flex-direction: column; align-items: center; margin: calc(var(--box-spacing) * 2); --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }
cnc-calendar-scroller .scroller-day-name { text-transform: uppercase; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-weight: var(--font-weight-semibold); }
cnc-calendar-scroller .scroller-day-num { cursor: pointer; text-align: center; }
}
@layer widgets {
cnc-calendar-year { display: block; width: 100%; }
cnc-calendar-year .year-wrapper { background-color: var(--color-white); }
.dark cnc-calendar-year .year-wrapper { background-color: var(--color-slate-900); }
cnc-calendar-year .year-title { text-align: center; font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); font-weight: var(--font-weight-bold); color: var(--color-slate-800); margin-bottom: calc(var(--box-spacing) * 8); }
.dark cnc-calendar-year .year-title { color: var(--color-slate-200); }
cnc-calendar-year .year-grid { margin-inline: auto; display: grid; max-width: 48rem; grid-template-columns: repeat(1, minmax(0, 1fr)); column-gap: calc(var(--spacing) * 8); row-gap: calc(var(--spacing) * 12); padding-inline: calc(var(--box-spacing) * 4); }
@media (min-width: 640px) {
cnc-calendar-year .year-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
cnc-calendar-year .year-grid { max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-inline: calc(var(--box-spacing) * 8); }
}
@media (min-width: 1536px) {
cnc-calendar-year .year-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
cnc-calendar-year .year-month { text-align: center; }
cnc-calendar-year .year-month-title { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-semibold); color: var(--color-slate-900); }
.dark cnc-calendar-year .year-month-title { color: var(--color-slate-100); }
cnc-calendar-year .year-dow-row { margin-top: calc(var(--box-spacing) * 4); display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); color: var(--color-slate-500); }
.dark cnc-calendar-year .year-dow-row { color: var(--color-slate-400); }
cnc-calendar-year .year-day-grid { isolation: isolate; margin-top: calc(var(--box-spacing) * 2); display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; border-radius: var(--radius-lg); background-color: var(--color-slate-200); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-slate-200); }
.dark cnc-calendar-year .year-day-grid { background-color: var(--color-slate-700); --tw-ring-color: var(--color-slate-700); }
cnc-calendar-year .year-day { padding-block: calc(var(--box-spacing) * 1.5); cursor: pointer; }
cnc-calendar-year .year-day:hover { background-color: var(--color-slate-100); }
.dark cnc-calendar-year .year-day:hover { background-color: var(--color-slate-600); }
cnc-calendar-year .year-day-in { background-color: var(--color-white); color: var(--color-slate-900); }
.dark cnc-calendar-year .year-day-in { background-color: var(--color-slate-800); color: var(--color-slate-200); }
cnc-calendar-year .year-day-out { background-color: var(--color-slate-50); color: var(--color-slate-400); }
.dark cnc-calendar-year .year-day-out { background-color: var(--color-slate-900); color: var(--color-slate-500); }
cnc-calendar-year .year-day-tl { border-top-left-radius: var(--radius-lg); }
cnc-calendar-year .year-day-tr { border-top-right-radius: var(--radius-lg); }
cnc-calendar-year .year-day-bl { border-bottom-left-radius: var(--radius-lg); }
cnc-calendar-year .year-day-br { border-bottom-right-radius: var(--radius-lg); }
cnc-calendar-year .year-day-num { margin-inline: auto; display: flex; height: calc(var(--spacing) * 7); width: calc(var(--spacing) * 7); align-items: center; justify-content: center; border-radius: calc(infinity * 1px); }
cnc-calendar-year .year-day-today .year-day-num { background-color: var(--color-primary-600); color: var(--color-white); font-weight: var(--font-weight-semibold); }
cnc-calendar-year .year-day-selected .year-day-num { background-color: var(--color-primary-700); color: var(--color-white); font-weight: var(--font-weight-bold); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-primary-400); }
}
@layer widgets {
cnc-cards { margin-left: auto; margin-right: auto; grid-template-columns: repeat( auto-fit , minmax( min( var( --card-width , 260px ) , 100% ) , 1fr ) ); grid-auto-rows: minmax( 1px , max-content ); --card-rows: 4; display: grid; justify-content: center; gap: calc(var(--spacing) * 0); }
cnc-cards .card, cnc-cards > * .card, cnc-cards > *:not(.card) { grid-row: span var( --card-rows ); display: grid; grid-template-rows: subgrid; row-gap: 0; }
cnc-cards > * .card:has(.card-prefix), cnc-cards > *:not(.card):has(.card-prefix) { grid-template-columns: auto minmax( 100px , 1fr ); column-gap: 10px; }
cnc-cards > *:not(.card):has(.card-prefix):has(.card) { grid-template-columns: subgrid; }
cnc-cards > * > .card .card-prefix, cnc-cards > * > .card-prefix { grid-row-start: 1; grid-row-end: calc( var( --card-rows ) + 1 ); }
}
@layer app-widgets {
cnc-carousel { display: block; position: relative; }
cnc-carousel .thumb-not-active-slide { opacity: 0.6; }
}
@layer app-widgets {
cnc-carousel2 { display: block; }
}
@layer app-widgets {
cnc-chart { display: block; width: 100%; height: 100%; }
}
@layer app-widgets {
cnc-chart2 { display: block; width: 100%; height: 100%; }
}
@layer app-widgets {
cnc-checkbox[size="xxs"] { --shape-border-radius-rounded: calc( var( --radius-DEFAULT , 0.25rem ) * 0.6 ); }
cnc-checkbox[size="xs"] { --shape-border-radius-rounded: calc( var( --radius-DEFAULT , 0.25rem ) * 0.8 ); }
cnc-checkbox[size="sm"], cnc-checkbox[size="md"], cnc-checkbox:not([size]) { --shape-border-radius-rounded: var( --radius-DEFAULT , 0.25rem ); }
cnc-checkbox[size="lg"], cnc-checkbox[size="xl"], cnc-checkbox[size="2xl"] { --shape-border-radius-rounded: calc( var( --radius-DEFAULT , 0.25rem ) * 1.2 ); }
cnc-checkbox[shape="rounded"], cnc-checkbox:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-DEFAULT , 0.25rem ) ); }
cnc-checkbox[shape="circle"] { --shape-border-radius: 50%; }
cnc-checkbox[shape="square"], cnc-checkbox[shape="rectangle"] { --shape-border-radius: 0; }
cnc-checkbox[size="xxs"] { --control-size: 0.75rem; --control-margin: 0.17rem; --container-height: 1.75rem; --container-gap: 0.25rem; --label-font-size: 0.75rem; --label-line-height: 1rem; }
cnc-checkbox[size="xs"] { --control-size: 0.875rem; --control-margin: 0.18rem; --container-height: 2rem; --container-gap: 0.25rem; --label-font-size: 0.875rem; --label-line-height: 1.25rem; }
cnc-checkbox[size="sm"] { --control-size: 1rem; --control-margin: 0.18rem; --container-height: 2.25rem; --container-gap: 0.375rem; --label-font-size: 0.875rem; --label-line-height: 1.25rem; }
cnc-checkbox[size="md"], cnc-checkbox:not([size]) { --control-size: 1rem; --control-margin: 0.3rem; --container-height: 2.5rem; --container-gap: 0.5rem; --label-font-size: 1rem; --label-line-height: 1.5rem; }
cnc-checkbox[size="lg"] { --control-size: 1.25rem; --control-margin: 0.125rem; --container-height: 2.75rem; --container-gap: 0.5rem; --label-font-size: 1rem; --label-line-height: 1.5rem; }
cnc-checkbox[size="xl"] { --control-size: 1.25rem; --control-margin: 0.25rem; --container-height: 3rem; --container-gap: 0.625rem; --label-font-size: 1.125rem; --label-line-height: 1.75rem; }
cnc-checkbox[size="2xl"] { --control-size: 1.5rem; --control-margin: 0.25rem; --container-height: 3.5rem; --container-gap: 0.75rem; --label-font-size: 1.25rem; --label-line-height: 2rem; }
cnc-checkbox { --control-accent-color: var( --color-500 , var( --color-neutral-500 , #475569 ) ); --control-bg: white; --control-bg-checked: var( --control-accent-color ); --control-border-color: var( --color-neutral-300 , #d4d4d4 ); --control-border-color-checked: var( --control-accent-color ); --control-border-radius: var( --shape-border-radius , 0 ); --control-border-width: 1px; --control-check-color: white; --control-check-width: calc( var( --control-size ) * 0.3 ); --control-check-height: calc( var( --control-size ) * 0.55 ); --control-check-border-width: 0.125rem; --control-indicator-width: calc( var( --control-size ) * 0.55 ); --control-indicator-height: 0.125rem; --control-focus-color: var( --color-500 , var( --color-primary-500 ) ); --control-focus-shadow: 0 0 0 2px var( --control-focus-color ); --control-click-scale: 0.875; --control-transition-duration: 150ms; --control-transition-timing: ease; --label-text-color: var( --color-neutral-700 , #334155 ); --label-description-color: var( --color-neutral-600 , #465160 ); --label-description-font-size: 0.875em; --label-font-family: inherit; --label-font-weight: 400; --counter-gap: 0.5rem; --counter-text-color: var( --color-neutral-400 , #94a3b8 ); --container-opacity-disabled: 0.6; }
.dark cnc-checkbox { --control-bg: color-mix( in srgb , black 75% , transparent ); --control-border-color: var( --color-neutral-600 , #525252 ); --control-focus-color: var( --color-200 , var( --color-primary-500 ) ); --label-text-color: var( --color-neutral-500 , #737373 ); --label-description-color: var( --color-neutral-400 , #505761 ); --counter-text-color: var( --color-neutral-500 , #737373 ); }
cnc-checkbox[kind="filled"] { --label-text-color: var( --color-700 , var( --color-neutral-800 ) ); }
.dark cnc-checkbox[kind="filled"] { --label-text-color: var( --color-600 , var( --color-neutral-500 ) ); }
cnc-checkbox { display: inline-block; }
cnc-checkbox .cnc-checkbox_container { min-block-size: var( --container-height ); gap: var( --container-gap ); color: var( --label-text-color ); }
cnc-checkbox .cnc-checkbox_control { -webkit-appearance: none; appearance: none; box-sizing: border-box; display: grid; place-content: center; inline-size: var( --control-size ); block-size: var( --control-size ); margin: 0; margin-top: var( --control-margin ); background: var( --control-bg ); border: var( --control-border-width ) solid var( --control-border-color ); border-radius: var( --control-border-radius ); }
cnc-checkbox[animation] .cnc-checkbox_control { transition: background-color var( --control-transition-duration ) var( --control-transition-timing ) , border-color var( --control-transition-duration ) var( --control-transition-timing ) , box-shadow var( --control-transition-duration ) var( --control-transition-timing ) , transform var( --control-transition-duration ) var( --control-transition-timing ); }
cnc-checkbox .cnc-checkbox_control::after { content: ""; inline-size: var( --control-check-width ); block-size: var( --control-check-height ); border: solid var( --control-check-color ); border-width: 0 var( --control-check-border-width ) var( --control-check-border-width ) 0; opacity: 0; transform: translateY( -8% ) rotate( 45deg ) scale( 0.75 ); }
cnc-checkbox[animation] .cnc-checkbox_control::after { transition: opacity var( --control-transition-duration ) var( --control-transition-timing ) , transform var( --control-transition-duration ) var( --control-transition-timing ); }
cnc-checkbox .cnc-checkbox_label { color: var( --label-text-color ); font-family: var( --label-font-family ); font-size: var( --label-font-size ); line-height: var( --label-line-height ); }
cnc-checkbox .cnc-checkbox_counter { margin-inline-start: var( --counter-gap ); color: var( --counter-text-color ); }
cnc-checkbox .cnc-checkbox_text { font-weight: var( --label-font-weight ); }
cnc-checkbox .cnc-checkbox_description { color: var( --label-description-color ); font-size: var( --label-description-font-size ); }
cnc-checkbox .cnc-checkbox_control:focus-visible { outline: none; box-shadow: var( --control-focus-shadow ); }
cnc-checkbox .cnc-checkbox_control:checked, cnc-checkbox .cnc-checkbox_control:indeterminate { background: var( --control-bg-checked ); border-color: var( --control-border-color-checked ); }
cnc-checkbox .cnc-checkbox_control:checked::after { opacity: 1; transform: translateY( -8% ) rotate( 45deg ) scale( 1 ); }
cnc-checkbox .cnc-checkbox_control:indeterminate::after { inline-size: var( --control-indicator-width ); block-size: var( --control-indicator-height ); background: var( --control-check-color ); border: 0; opacity: 1; transform: none; }
cnc-checkbox .cnc-checkbox_control:active { transform: scale( var( --control-click-scale ) ); }
cnc-checkbox.disabled { cursor: not-allowed; opacity: var( --container-opacity-disabled ); }
cnc-checkbox.disabled .cnc-checkbox_container, cnc-checkbox.disabled .cnc-checkbox_control { cursor: not-allowed; }
cnc-checkbox.readonly { pointer-events: none; }
cnc-checkbox[animation="none"] { --control-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-checkbox { --control-transition-duration: 0ms; }
}
@media (forced-colors: active) {
cnc-checkbox .cnc-checkbox_control { appearance: auto; }
cnc-checkbox .cnc-checkbox_control::after { content: none; }
}
}
@layer widgets {
cnc-checkboxes[size="xxs"] { --shape-border-radius-rounded: 0.15rem; }
cnc-checkboxes[size="xs"] { --shape-border-radius-rounded: 0.2rem; }
cnc-checkboxes[size="sm"], cnc-checkboxes[size="md"], cnc-checkboxes:not([size]) { --shape-border-radius-rounded: 0.25rem; }
cnc-checkboxes[size="lg"], cnc-checkboxes[size="xl"], cnc-checkboxes[size="2xl"] { --shape-border-radius-rounded: 0.3rem; }
cnc-checkboxes[shape="rounded"], cnc-checkboxes:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , 0.25rem ); }
cnc-checkboxes[shape="circle"] { --shape-border-radius: 50%; }
cnc-checkboxes[shape="square"], cnc-checkboxes[shape="rectangle"] { --shape-border-radius: 0; }
cnc-checkboxes[size="xxs"] { --control-size: 0.75rem; --control-check-width: 0.25rem; --control-check-height: 0.4375rem; --item-gap: 0.25rem; --list-gap-vertical: 0.25rem; --label-font-size: 0.75rem; --label-line-height: 1rem; }
cnc-checkboxes[size="xs"] { --control-size: 0.875rem; --control-check-width: 0.25rem; --control-check-height: 0.5rem; --item-gap: 0.25rem; --list-gap-vertical: 0.25rem; --label-font-size: 0.875rem; --label-line-height: 1.25rem; }
cnc-checkboxes[size="sm"] { --control-size: 1rem; --control-check-width: 0.3125rem; --control-check-height: 0.5625rem; --item-gap: 0.375rem; --list-gap-vertical: 0.375rem; --label-font-size: 0.875rem; --label-line-height: 1.25rem; }
cnc-checkboxes[size="md"], cnc-checkboxes:not([size]) { --control-size: 1rem; --control-check-width: 0.3125rem; --control-check-height: 0.5625rem; --item-gap: 0.5rem; --list-gap-vertical: 0.375rem; --label-font-size: 1rem; --label-line-height: 1.5rem; }
cnc-checkboxes[size="lg"] { --control-size: 1.25rem; --control-check-width: 0.375rem; --control-check-height: 0.6875rem; --item-gap: 0.5rem; --list-gap-vertical: 0.5rem; --label-font-size: 1rem; --label-line-height: 1.5rem; }
cnc-checkboxes[size="xl"] { --control-size: 1.25rem; --control-check-width: 0.375rem; --control-check-height: 0.6875rem; --item-gap: 0.625rem; --list-gap-vertical: 0.625rem; --label-font-size: 1.125rem; --label-line-height: 1.75rem; }
cnc-checkboxes[size="2xl"] { --control-size: 1.5rem; --control-check-width: 0.4375rem; --control-check-height: 0.8125rem; --item-gap: 0.75rem; --list-gap-vertical: 0.75rem; --label-font-size: 1.25rem; --label-line-height: 2rem; }
cnc-checkboxes { --control-accent-color: var( --color-500 , var( --color-neutral-500 , #737373 ) ); --control-bg: var( --color-neutral-0 , white ); --control-bg-checked: var( --control-accent-color ); --control-border-color: var( --color-neutral-300 , #d4d4d4 ); --control-border-color-checked: var( --control-accent-color ); --control-border-radius: var( --shape-border-radius , 0 ); --control-border-width: 1px; --control-check-color: white; --control-check-border-width: 0.125rem; --control-focus-color: var( --color-500 , var( --color-primary-500 ) ); --control-focus-shadow: 0 0 0 2px var( --control-focus-color ); --control-click-scale: 0.875; --control-transition-duration: 150ms; --control-transition-timing: ease; --label-text-color: var( --color-neutral-700 , #262626 ); --label-description-color: var( --color-neutral-600 , #525252 ); --label-font-family: inherit; --label-font-weight: inherit; --label-description-font-size: 0.875em; --label-description-line-height: 1.4; --label-description-gap: 0.125rem; --container-opacity-disabled: 0.6; --list-gap-horizontal: 1rem; }
.dark cnc-checkboxes { --control-bg: var( --color-neutral-950 , black ); --control-border-color: var( --color-neutral-600 , #525252 ); --control-focus-color: var( --color-200 , var( --color-primary-500 ) ); --label-text-color: var( --color-neutral-500 , #737373 ); --label-description-color: var( --color-neutral-400 , #a3a3a3 ); }
cnc-checkboxes[kind="filled"] { --label-text-color: var( --color-700 , var( --color-neutral-800 ) ); }
.dark cnc-checkboxes[kind="filled"] { --label-text-color: var( --color-600 , var( --color-neutral-500 ) ); }
cnc-checkboxes { display: flex; flex-direction: column; gap: var( --list-gap-vertical ); color: var( --label-text-color ); }
cnc-checkboxes.horizontal, cnc-checkboxes[horizontal] { column-gap: var( --list-gap-horizontal ); flex-direction: row; align-items: center; flex-wrap: wrap; }
cnc-checkboxes .cnc-checkboxes_item { gap: var( --item-gap ); }
cnc-checkboxes .cnc-checkboxes_control { --control-accent-color: var( --color-500 , var( --color-neutral-500 , #737373 ) ); --control-bg-checked: var( --control-accent-color ); --control-border-color-checked: var( --control-accent-color ); --control-focus-color: var( --color-500 , var( --color-primary-500 ) ); --control-focus-shadow: 0 0 0 2px var( --control-focus-color ); -webkit-appearance: none; appearance: none; box-sizing: border-box; display: grid; place-content: center; inline-size: var( --control-size ); block-size: var( --control-size ); margin: 0; margin-block-start: calc( ( var( --label-line-height ) - var( --control-size ) ) / 2 ); background-color: var( --control-bg ); border: var( --control-border-width ) solid var( --control-border-color ); border-radius: var( --control-border-radius ); transition: background-color var( --control-transition-duration ) var( --control-transition-timing ) , border-color var( --control-transition-duration ) var( --control-transition-timing ) , box-shadow var( --control-transition-duration ) var( --control-transition-timing ) , transform var( --control-transition-duration ) var( --control-transition-timing ); }
cnc-checkboxes .cnc-checkboxes_control::after { content: ""; width: var( --control-check-width ); height: var( --control-check-height ); border: solid var( --control-check-color ); border-width: 0 var( --control-check-border-width ) var( --control-check-border-width ) 0; opacity: 0; transform: translateY( -8% ) rotate( 45deg ) scale( 0.75 ); transition: opacity var( --control-transition-duration ) var( --control-transition-timing ) , transform var( --control-transition-duration ) var( --control-transition-timing ); }
cnc-checkboxes .cnc-checkboxes_label { font-family: var( --label-font-family ); font-size: var( --label-font-size ); line-height: var( --label-line-height ); }
cnc-checkboxes .cnc-checkboxes_text { font-weight: var( --label-font-weight ); }
cnc-checkboxes .cnc-checkboxes_description { color: var( --label-description-color ); font-size: var( --label-description-font-size ); font-weight: 400; line-height: var( --label-description-line-height ); margin-block-start: var( --label-description-gap ); }
cnc-checkboxes .cnc-checkboxes_control:focus-visible { outline: none; box-shadow: var( --control-focus-shadow ); }
cnc-checkboxes .cnc-checkboxes_control:checked { background-color: var( --control-bg-checked ); border-color: var( --control-border-color-checked ); }
cnc-checkboxes .cnc-checkboxes_control:checked::after { opacity: 1; transform: translateY( -8% ) rotate( 45deg ) scale( 1 ); }
cnc-checkboxes .cnc-checkboxes_control:active { transform: scale( var( --control-click-scale ) ); }
cnc-checkboxes.disabled { cursor: not-allowed; opacity: var( --container-opacity-disabled ); }
cnc-checkboxes.disabled .cnc-checkboxes_item, cnc-checkboxes.disabled .cnc-checkboxes_control { cursor: not-allowed; }
cnc-checkboxes.readonly { pointer-events: none; }
cnc-checkboxes[animation="none"] { --control-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-checkboxes { --control-transition-duration: 0ms; }
}
@media (forced-colors: active) {
cnc-checkboxes .cnc-checkboxes_control { appearance: auto; }
cnc-checkboxes .cnc-checkboxes_control::after { content: none; }
}
}
@layer widgets {
cnc-choice { --item-border-radius: var( --radius-md , 0.375rem ); --item-border-width: 1px; --item-bg: transparent; --item-bg-hover: rgb( 0 0 0 / 3% ); --item-bg-selected: rgb( from var( --color-500 , var( --color-primary-500 ) ) r g b / 10% ); --item-text-color: var( --color-neutral-700 , #334155 ); --item-text-color-selected: var( --color-neutral-900 , #0f172a ); --item-border-color: var( --color-neutral-300 , #cbd5e1 ); --item-border-color-hover: var( --color-neutral-400 , #94a3b8 ); --item-border-color-selected: var( --color-500 , var( --color-primary-500 ) ); --counter-text-color: var( --color-neutral-400 , #94a3b8 ); --container-opacity-disabled: 0.6; }
.dark cnc-choice { --item-bg-hover: rgb( 255 255 255 / 5% ); --item-bg-selected: rgb( from var( --color-500 , var( --color-primary-500 ) ) r g b / 15% ); --item-text-color: var( --color-neutral-200 , #e2e8f0 ); --item-text-color-selected: var( --color-neutral-50 , white ); --item-border-color: var( --color-neutral-600 , #475569 ); --item-border-color-hover: var( --color-neutral-500 , #64748b ); }
cnc-choice { display: inline-flex; gap: var( --list-gap , 0.5rem ); }
cnc-choice[data-orientation="horizontal"] { flex-flow: row; flex-wrap: nowrap; align-items: stretch; }
cnc-choice[wide] { display: flex; }
cnc-choice[wide] .cnc-choice_item { flex: 1; }
cnc-choice .cnc-choice_item { display: block; }
cnc-choice .cnc-choice_content { padding: var( --item-padding , 0.5rem 0.75rem ); background: var( --item-bg ); border: var( --item-border-width ) solid var( --item-border-color ); border-radius: var( --item-border-radius ); }
cnc-choice .cnc-choice_item:hover > .cnc-choice_content { background: var( --item-bg-hover , var( --item-bg ) ); border-color: var( --item-border-color-hover , var( --item-border-color ) ); }
cnc-choice .cnc-choice_item[data-selected="true"] > .cnc-choice_content { color: var( --item-text-color-selected , var( --item-text-color ) ); background: var( --item-bg-selected , var( --item-bg ) ); border-color: var( --item-border-color-selected , var( --item-border-color ) ); }
cnc-choice .cnc-choice_counter { margin-inline-start: var( --counter-gap , 0.5rem ); color: var( --counter-text-color ); }
cnc-choice[aria-disabled="true"], cnc-choice[aria-readonly="true"] { pointer-events: none; opacity: var( --container-opacity-disabled ); }
cnc-choice[aria-disabled="true"] { cursor: not-allowed; }
}
@layer app-widgets {
cnc-code { display: block; }
cnc-code .code-editor { min-height: 200px; opacity: 0; display: none; }
cnc-code .code-fallback { scrollbar-color: #94a3b8 transparent; scrollbar-width: thin; }
cnc-code .code-fallback::-webkit-scrollbar { width: 8px; height: 8px; }
cnc-code .code-fallback::-webkit-scrollbar-track { background: transparent; }
cnc-code .code-fallback::-webkit-scrollbar-thumb { background: #94a3b8; background-clip: padding-box; border: 2px solid transparent; border-radius: 9999px; }
.dark cnc-code .code-fallback { scrollbar-color: #475569 transparent; }
.dark cnc-code .code-fallback::-webkit-scrollbar-thumb { background-color: #475569; }
}
@layer app-widgets {
cnc-color-mode { display: inline-block; position: relative; }
cnc-color-mode .menu { background: #fff; border: 1px solid #e2e8f0; box-shadow: 0 4px 12px rgba( 0 , 0 , 0 , 0.1 ); min-width: 8rem; border-radius: var(--radius-lg); overflow: hidden; }
.dark cnc-color-mode .menu { background-color: var(--color-slate-800); border-color: var(--color-slate-700); }
cnc-color-mode .menu-item { color: #475569; transition: background 0.1s; display: flex; align-items: center; gap: calc(var(--spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 2); cursor: pointer; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
.dark cnc-color-mode .menu-item { color: var(--color-slate-300); }
cnc-color-mode .menu-item:hover { background: #f1f5f9; color: #0f172a; }
.dark cnc-color-mode .menu-item:hover { background-color: var(--color-slate-100); color: var(--color-slate-100); }
cnc-color-mode .menu-icon { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }
}
@layer app-widgets {
cnc-color-picker { position: relative; display: inline-block; }
cnc-color-picker .hue-slider { background: linear-gradient( to right , #f00 0% , #ff0 17% , #0f0 33% , #0ff 50% , #00f 67% , #f0f 83% , #f00 100% ); box-shadow: inset 0 0 0 1px rgba( 0 , 0 , 0 , 0.15 ); }
cnc-color-picker .alpha-slider { box-shadow: inset 0 0 0 1px rgba( 0 , 0 , 0 , 0.15 ); background: repeating-conic-gradient( #ccc 0% 25% , white 0% 50% ) 50% / 8px 8px; }
cnc-color-picker .color-grid { border-radius: 6px 6px 0 0; }
cnc-color-picker .color-grid { height: 180px; cursor: crosshair; }
cnc-color-picker .grid-handle { top: 0; left: 0; transform: translate( -50% , -50% ); }
cnc-color-picker .slider-handle { top: 50%; left: 0; transform: translate( -50% , -50% ); }
cnc-color-picker .alpha-slider .slider-handle { left: 100%; }
}
@layer app-widgets {
cnc-confirm-button[wide] { display: block; width: 100%; }
}
@layer app-widgets {
cnc-context-menu[shape="rounded"], cnc-context-menu:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-context-menu[shape="square"], cnc-context-menu[shape="rectangle"] { --shape-border-radius: 0; }
cnc-context-menu[size="sm"] { --content-font-size: 0.8125rem; }
cnc-context-menu[size="md"], cnc-context-menu:not([size]) { --content-font-size: 0.875rem; }
cnc-context-menu[size="lg"] { --content-font-size: 1rem; }
cnc-context-menu { --content-border-radius: var( --shape-border-radius , 0 ); --content-border-width: 1px; --content-padding: 0; --content-transition-duration: 120ms; --content-transition-timing: ease-out; --content-translate-y-closed: 0.125rem; --content-scale-closed: 0.96; }
cnc-context-menu[kind="filled"], cnc-context-menu:not([kind]) { --content-bg: var( --color-neutral-50 , white ); --content-text-color: var( --color-neutral-800 , rgb( 38 38 38 ) ); --content-border-color: rgb( 0 0 0 / 10% ); --content-shadow: rgb( 0 0 0 / 8% ) 0 12px 16px -4px , rgb( 0 0 0 / 4% ) 0 2px 4px -2px; }
.dark cnc-context-menu[kind="filled"], .dark cnc-context-menu:not([kind]) { --content-bg: var( --color-neutral-800 , rgb( 38 38 38 ) ); --content-text-color: var( --color-neutral-100 , rgb( 245 245 245 ) ); --content-border-color: rgb( 255 255 255 / 20% ); --content-shadow: 0 20px 25px -5px rgb( 0 0 0 / 30% ); }
cnc-context-menu[kind="plain"] { --content-bg: inherit; --content-text-color: inherit; --content-border-color: transparent; --content-shadow: none; }
cnc-context-menu .cnc-context-menu_content { max-inline-size: calc( 100vw - 0.5rem ); max-block-size: calc( 100vh - 0.5rem ); padding: var( --content-padding ); color: var( --content-text-color ); background: var( --content-bg ); border: var( --content-border-width ) solid var( --content-border-color ); border-radius: var( --content-border-radius ); box-shadow: var( --content-shadow ); font-size: var( --content-font-size ); }
cnc-context-menu .cnc-context-menu_wrapper.open { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d( 0 , 0 , 0 ) scale3d( 1 , 1 , 1 ); }
cnc-context-menu .cnc-context-menu_wrapper.close { visibility: hidden; opacity: 0; pointer-events: none; transform: translate3d( 0 , var( --content-translate-y-closed ) , 0 ) scale3d( var( --content-scale-closed ) , var( --content-scale-closed ) , 1 ); }
cnc-context-menu .cnc-context-menu_wrapper { transform-origin: top left; transition: opacity var( --content-transition-duration ) var( --content-transition-timing ) , transform var( --content-transition-duration ) var( --content-transition-timing ); }
cnc-context-menu[animation="none"] { --content-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-context-menu { --content-transition-duration: 0ms; }
}
}
@layer app-widgets {
cnc-countdown { display: block; }
cnc-countdown .flipdown-container { width: 100%; }
}
@layer app-widgets {
cnc-custom-form { display: block; }
cnc-custom-form .form-wrapper { width: 100%; }
cnc-custom-form .form-error { margin-bottom: calc(var(--box-spacing) * 3); }
}
@layer widgets {
cnc-demo-maker .demo-maker_heading { color: var( --color-neutral-500 , #71717a ); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; margin-bottom: 0.75rem; text-transform: uppercase; }
.dark cnc-demo-maker .demo-maker_heading { color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_title { color: var( --color-neutral-900 , #18181b ); font-size: 1.125rem; font-weight: 600; line-height: 1.4; padding-block: 1.5rem 0.75rem; padding-inline: 1.5rem; }
.dark cnc-demo-maker .demo-maker_title { color: var( --color-neutral-100 , #f4f4f5 ); }
}
@layer widgets {
cnc-demo-maker .demo-maker_bind { align-items: center; border: 1px solid var( --color-neutral-300 , #d4d4d8 ); color: var( --color-neutral-500 , #71717a ); cursor: pointer; display: flex; height: 1.75rem; }
cnc-demo-maker .demo-maker_bind.active { background: var( --color-primary-600 , #2563eb ); border-color: var( --color-primary-600 , #2563eb ); color: white; }
}
@layer widgets {
cnc-demo-maker .demo-maker_demo-row { border: 1px solid var( --color-neutral-300 , #d4d4d8 ); }
cnc-demo-maker .demo-maker_demo-row[data-active="true"] { background: var( --color-primary-50 , #eff6ff ); border-color: var( --color-primary-300 , #93c5fd ); }
cnc-demo-maker .demo-maker_demo { background: none; border: 0; color: var( --color-neutral-600 , #52525b ); cursor: pointer; }
cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_demo { color: var( --color-primary-700 , #1d4ed8 ); font-weight: 600; }
cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_description { background: #fff; border-radius: var( --radius-md , 0.375rem ); }
.dark cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_description { background: var( --color-neutral-900 , #18181b ); }
.dark cnc-demo-maker .demo-maker_demo { color: var( --color-neutral-300 , #d4d4d8 ); }
.dark cnc-demo-maker .demo-maker_demo-row[data-active="true"] { background: var( --color-primary-950 , #172554 ); border-color: var( --color-primary-800 , #1e40af ); }
.dark cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_demo { color: var( --color-primary-300 , #93c5fd ); }
cnc-demo-maker .demo-maker_code-editor textarea { font-family: ui-monospace , SFMono-Regular , Menlo , Consolas , monospace; font-size: 0.8125rem; }
}
@layer widgets {
cnc-demo-maker .demo-maker_tabs { border-bottom: 1px solid var( --color-neutral-200 , #e4e4e7 ); margin-bottom: 1rem; }
.dark cnc-demo-maker .demo-maker_tabs { border-bottom-color: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_tab { align-items: center; background: none; border: 0; border-bottom: 2px solid transparent; color: var( --color-neutral-500 , #71717a ); cursor: pointer; display: inline-flex; font-size: 0.8125rem; font-weight: 500; gap: 0.375rem; margin-bottom: -1px; padding: 0.375rem 0.625rem; white-space: nowrap; }
cnc-demo-maker .demo-maker_tab[aria-selected="true"] { border-bottom-color: var( --color-primary-600 , #2563eb ); color: var( --color-primary-600 , #2563eb ); }
.dark cnc-demo-maker .demo-maker_tab { color: var( --color-neutral-400 , #a1a1aa ); }
.dark cnc-demo-maker .demo-maker_tab[aria-selected="true"] { color: var( --color-primary-400 , #60a5fa ); }
cnc-demo-maker .demo-maker_chrome { background: none; border: 0; color: var( --color-neutral-400 , #a1a1aa ); cursor: pointer; line-height: 0; padding: 0.125rem; }
cnc-demo-maker .demo-maker_chrome:hover { color: var( --color-neutral-800 , #27272a ); }
.dark cnc-demo-maker .demo-maker_chrome:hover { color: var( --color-neutral-200 , #e4e4e7 ); }
cnc-demo-maker .demo-maker_description textarea { font-size: 0.75rem; }
cnc-demo-maker .demo-maker_demo-row + .demo-maker_demo-row { margin-top: 0.125rem; }
}
@layer widgets {
cnc-demo-maker .demo-maker_views { background: var( --color-neutral-200 , #e4e4e7 ); border-radius: var( --radius-lg , 0.5rem ); padding: 0.125rem; }
.dark cnc-demo-maker .demo-maker_views { background: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_examples { min-width: 260px; width: 260px; }
cnc-demo-maker .demo-maker_drawer-tabs { background: var( --color-neutral-200 , #e4e4e7 ); border-radius: var( --radius-lg , 0.5rem ); padding: 0.125rem; }
cnc-demo-maker .demo-maker_drawer-tab { background: none; border: 0; border-radius: var( --radius-md , 0.375rem ); color: var( --color-neutral-600 , #52525b ); cursor: pointer; flex: 1 1 0; font-size: 0.8125rem; padding: 0.25rem 0.5rem; }
cnc-demo-maker .demo-maker_drawer-tab:hover { color: var( --color-neutral-900 , #18181b ); }
cnc-demo-maker .demo-maker_drawer-tab[aria-pressed="true"] { background: var( --color-white , #fff ); box-shadow: 0 1px 2px rgb( 0 0 0 / 0.08 ); color: var( --color-neutral-900 , #18181b ); }
.dark cnc-demo-maker .demo-maker_drawer-tabs { background: var( --color-neutral-700 , #3f3f46 ); }
.dark cnc-demo-maker .demo-maker_drawer-tab { color: var( --color-neutral-300 , #d4d4d8 ); }
.dark cnc-demo-maker .demo-maker_drawer-tab[aria-pressed="true"] { background: var( --color-neutral-900 , #18181b ); color: var( --color-neutral-50 , #fafafa ); }
cnc-demo-maker .demo-maker_examples [hidden] { display: none !important; }
cnc-demo-maker .demo-maker_create { align-items: center; background: none; border: 1px dashed var( --color-neutral-300 , #d4d4d8 ); border-radius: var( --radius-md , 0.375rem ); color: var( --color-neutral-600 , #52525b ); cursor: pointer; display: flex; font-size: 0.8125rem; gap: 0.375rem; justify-content: center; padding: 0.375rem 0.5rem; width: 100%; }
cnc-demo-maker .demo-maker_create:hover { border-color: var( --color-primary-400 , #60a5fa ); color: var( --color-primary-600 , #2563eb ); }
cnc-demo-maker .demo-maker_create-menu { border: 1px solid var( --color-neutral-200 , #e4e4e7 ); border-radius: var( --radius-md , 0.375rem ); padding: 0.625rem; }
.dark cnc-demo-maker .demo-maker_create { border-color: var( --color-neutral-600 , #52525b ); color: var( --color-neutral-300 , #d4d4d8 ); }
.dark cnc-demo-maker .demo-maker_create-menu { border-color: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_verb { background: none; border: 1px solid var( --color-neutral-300 , #d4d4d8 ); border-radius: var( --radius-md , 0.375rem ); color: var( --color-neutral-600 , #52525b ); cursor: pointer; font-size: 0.75rem; padding: 0.125rem 0.5rem; }
cnc-demo-maker .demo-maker_verb:disabled { cursor: not-allowed; opacity: 0.45; }
cnc-demo-maker .demo-maker_verb:not(:disabled):hover { border-color: var( --color-neutral-400 , #a1a1aa ); color: var( --color-neutral-800 , #27272a ); }
cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_verb { border-color: var( --color-primary-300 , #93c5fd ); color: var( --color-primary-700 , #1d4ed8 ); }
cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_verb:not(:disabled):hover { background: rgb( 255 255 255 / 0.6 ); border-color: var( --color-primary-500 , #3b82f6 ); color: var( --color-primary-800 , #1e40af ); }
.dark cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_verb { border-color: var( --color-primary-800 , #1e40af ); color: var( --color-primary-300 , #93c5fd ); }
.dark cnc-demo-maker .demo-maker_demo-row[data-active="true"] .demo-maker_verb:not(:disabled):hover { background: rgb( 255 255 255 / 0.08 ); border-color: var( --color-primary-600 , #2563eb ); color: var( --color-primary-200 , #bfdbfe ); }
cnc-demo-maker .demo-maker_verb--danger:not(:disabled):hover { border-color: var( --color-danger-500 , #ef4444 ); color: var( --color-danger-600 , #dc2626 ); }
.dark cnc-demo-maker .demo-maker_verb { color: var( --color-neutral-300 , #d4d4d8 ); }
}
@layer widgets {
cnc-demo-maker .demo-maker_preset .cnc-select_trigger { font-size: 0.75rem; padding-bottom: 0.125rem; padding-top: 0.125rem; }
cnc-demo-maker .demo-maker_preset .cnc-select_selected { flex-wrap: nowrap; min-width: 0; }
cnc-demo-maker .demo-maker_preset .cnc-select_selected-text, cnc-demo-maker .demo-maker_preset .cnc-select_selected-text * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
cnc-demo-maker .demo-maker_link { background: none; border: 0; color: var( --color-primary-600 , #2563eb ); cursor: pointer; font-size: 0.75rem; font-weight: 500; padding: 0; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 2px; white-space: nowrap; }
cnc-demo-maker .demo-maker_link:hover { text-decoration-style: solid; }
cnc-demo-maker .demo-maker_link[aria-selected="true"] { text-decoration-style: solid; text-decoration-thickness: 2px; }
.dark cnc-demo-maker .demo-maker_link { color: var( --color-primary-400 , #60a5fa ); }
cnc-demo-maker .demo-maker_zoom { color: var( --color-neutral-500 , #71717a ); font-family: ui-monospace , SFMono-Regular , Menlo , Consolas , monospace; font-size: 0.6875rem; font-variant-numeric: tabular-nums; padding-inline: 0.375rem; white-space: nowrap; }
.dark cnc-demo-maker .demo-maker_zoom { color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_stage-body { background-color: #fff; }
cnc-demo-maker .demo-maker_stage-body[data-view="tablet"], cnc-demo-maker .demo-maker_stage-body[data-view="phone"] { background-color: var( --color-neutral-100 , #f4f4f5 ); }
cnc-demo-maker .demo-maker_stage-body.dark[data-view="tablet"], cnc-demo-maker .demo-maker_stage-body.dark[data-view="phone"], .dark cnc-demo-maker .demo-maker_stage-body[data-view="tablet"], .dark cnc-demo-maker .demo-maker_stage-body[data-view="phone"] { background-color: var( --color-neutral-950 , #09090b ); }
cnc-demo-maker [data-view="tablet"] > .demo-maker_frame, cnc-demo-maker [data-view="phone"] > .demo-maker_frame { background-color: white; border-radius: var( --radius-xl , 0.75rem ); box-shadow: 0 10px 15px -3px rgb( 0 0 0 / 0.1 ) , 0 4px 6px -4px rgb( 0 0 0 / 0.1 ); }
cnc-demo-maker .dark[data-view="tablet"] > .demo-maker_frame, cnc-demo-maker .dark[data-view="phone"] > .demo-maker_frame { background-color: var( --color-neutral-900 , #18181b ); }
cnc-demo-maker .demo-maker_frame { background-color: transparent; border: 0; display: block; }
cnc-demo-maker .demo-maker_stage-body.dark, .dark cnc-demo-maker .demo-maker_stage-body { background-color: var( --color-neutral-900 , #18181b ); }
}
@layer widgets {
cnc-demo-maker .demo-maker_devtools { border-top: 1px solid var( --color-neutral-200 , #e4e4e7 ); }
.dark cnc-demo-maker .demo-maker_devtools { border-top-color: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_devtools-bar { align-items: center; background: var( --color-neutral-50 , #fafafa ); color: var( --color-neutral-500 , #71717a ); display: flex; gap: 0.375rem; padding: 0.25rem 0.5rem; }
.dark cnc-demo-maker .demo-maker_devtools-bar { background: var( --color-neutral-800 , #27272a ); color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_devtools-title { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
cnc-demo-maker .demo-maker_copy { background: none; border: 1px solid var( --color-neutral-300 , #d4d4d8 ); border-radius: var( --radius-DEFAULT , 0.25rem ); color: inherit; cursor: pointer; font-size: 0.6875rem; font-weight: 500; padding: 0.0625rem 0.375rem; }
cnc-demo-maker .demo-maker_copy:hover { background: var( --color-neutral-200 , #e4e4e7 ); }
.dark cnc-demo-maker .demo-maker_copy { border-color: var( --color-neutral-600 , #52525b ); }
.dark cnc-demo-maker .demo-maker_copy:hover { background: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_devtools-body cnc-code button { display: none; }
cnc-demo-maker .demo-maker_devtools-body { max-height: 16rem; overflow: auto; padding: 0.5rem; }
}
@layer widgets {
cnc-demo-maker .demo-maker_slot-row { border: 1px solid var( --color-neutral-300 , #d4d4d8 ); border-radius: var( --radius-md , 0.375rem ); overflow: hidden; }
.dark cnc-demo-maker .demo-maker_slot-row { border-color: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_slot-row[data-lit="true"] { border-color: var( --color-primary-500 , #3b82f6 ); }
cnc-demo-maker .demo-maker_slot-head { align-items: center; cursor: pointer; display: flex; gap: 0.5rem; padding: 0.375rem 0.5rem; }
cnc-demo-maker .demo-maker_slot-row[data-lit="true"] .demo-maker_slot-head { background: var( --color-primary-50 , #eff6ff ); }
.dark cnc-demo-maker .demo-maker_slot-row[data-lit="true"] .demo-maker_slot-head { background: color-mix( in srgb , var( --color-primary-500 , #3b82f6 ) 18% , transparent ); }
cnc-demo-maker .demo-maker_slot-check { accent-color: var( --color-primary-600 , #2563eb ); cursor: pointer; flex-shrink: 0; height: 0.875rem; width: 0.875rem; }
cnc-demo-maker .demo-maker_slot-name { font-family: ui-monospace , SFMono-Regular , Menlo , Consolas , monospace; font-size: 0.75rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
cnc-demo-maker .demo-maker_slot-panel { display: grid; grid-template-rows: 0fr; overflow: hidden; transition: grid-template-rows 0.2s ease; }
cnc-demo-maker .demo-maker_slot-row[data-open="true"] .demo-maker_slot-panel { grid-template-rows: 1fr; }
cnc-demo-maker .demo-maker_slot-body { padding: 0 0.5rem; }
cnc-demo-maker .demo-maker_slot-row:not([data-open="true"]) .demo-maker_slot-body { min-height: 0; }
cnc-demo-maker .demo-maker_slot-row[data-open="true"] .demo-maker_slot-body { padding-bottom: 0.5rem; }
cnc-demo-maker .demo-maker_slot-body cnc-code .code-editor { min-height: 0 !important; }
cnc-demo-maker .demo-maker_chrome-switches { border-top: 1px solid var( --color-neutral-200 , #e4e4e7 ); display: flex; flex-direction: column; gap: 0.375rem; margin-top: 0.75rem; padding-top: 0.75rem; }
.dark cnc-demo-maker .demo-maker_chrome-switches { border-top-color: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_aside { align-items: center; display: flex; flex-shrink: 0; gap: 0.5rem; height: 2.5rem; }
cnc-demo-maker .demo-maker_prop-row[data-labelled="true"] .demo-maker_aside { margin-top: 1.125rem; }
cnc-demo-maker .demo-maker_help { color: var( --color-neutral-400 , #a1a1aa ); cursor: help; }
cnc-demo-maker .demo-maker_help:hover { color: var( --color-neutral-600 , #52525b ); }
}
@layer widgets {
cnc-demo-maker .demo-maker_event-name { color: var( --color-primary-600 , #2563eb ); font-family: ui-monospace , SFMono-Regular , Menlo , Consolas , monospace; font-size: 0.75rem; }
.dark cnc-demo-maker .demo-maker_event-name { color: var( --color-primary-400 , #60a5fa ); }
cnc-demo-maker .demo-maker_event-doc { color: var( --color-neutral-500 , #71717a ); font-size: 0.75rem; margin-top: 0.125rem; }
.dark cnc-demo-maker .demo-maker_event-doc { color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_event-log { border-top: 1px solid var( --color-neutral-200 , #e4e4e7 ); margin-top: 1rem; padding-top: 0.75rem; }
.dark cnc-demo-maker .demo-maker_event-log { border-top-color: var( --color-neutral-700 , #3f3f46 ); }
cnc-demo-maker .demo-maker_event-log-bar { align-items: center; display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
cnc-demo-maker .demo-maker_event-log-title { color: var( --color-neutral-500 , #71717a ); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.dark cnc-demo-maker .demo-maker_event-log-title { color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_event-log-clear { background: none; border: 0; color: var( --color-neutral-500 , #71717a ); cursor: pointer; font-size: 0.6875rem; padding: 0; }
cnc-demo-maker .demo-maker_event-log-clear:hover { color: var( --color-neutral-800 , #27272a ); }
.dark cnc-demo-maker .demo-maker_event-log-clear:hover { color: var( --color-neutral-100 , #f4f4f5 ); }
cnc-demo-maker .demo-maker_event-log-empty { color: var( --color-neutral-500 , #71717a ); font-size: 0.75rem; }
.dark cnc-demo-maker .demo-maker_event-log-empty { color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_event-row { align-items: baseline; display: flex; gap: 0.5rem; padding: 0.25rem 0; }
cnc-demo-maker .demo-maker_event-row + .demo-maker_event-row { border-top: 1px solid var( --color-neutral-100 , #f4f4f5 ); }
.dark cnc-demo-maker .demo-maker_event-row + .demo-maker_event-row { border-top-color: var( --color-neutral-800 , #27272a ); }
cnc-demo-maker .demo-maker_event-detail { color: var( --color-neutral-600 , #52525b ); font-family: ui-monospace , SFMono-Regular , Menlo , Consolas , monospace; font-size: 0.75rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dark cnc-demo-maker .demo-maker_event-detail { color: var( --color-neutral-400 , #a1a1aa ); }
cnc-demo-maker .demo-maker_event-time { color: var( --color-neutral-400 , #a1a1aa ); flex: none; font-size: 0.6875rem; font-variant-numeric: tabular-nums; }
.dark cnc-demo-maker .demo-maker_event-time { color: var( --color-neutral-500 , #71717a ); }
}
@layer widgets {
cnc-demo-maker .demo-maker_stage-resize { display: none; }
@media (min-width: 64rem) {
cnc-demo-maker .demo-maker_stage { position: relative; }
cnc-demo-maker .demo-maker_stage-resize { display: block; position: absolute; inset-block: 0; inset-inline-end: 0; width: 0.375rem; cursor: col-resize; touch-action: none; z-index: 30; }
cnc-demo-maker .demo-maker_stage-resize:hover, cnc-demo-maker .demo-maker_stage--resizing .demo-maker_stage-resize { background-color: var( --color-primary-500 , #3b82f6 ); opacity: 0.5; }
cnc-demo-maker .demo-maker_stage--widened { flex: 0 0 calc( var( --demo-stage-base , 0px ) + var( --demo-stage-extra , 0px ) ); margin-inline-end: calc( -1 * var( --demo-stage-extra , 0px ) ); z-index: 20; background-color: #fff; box-shadow: 0 10px 15px -3px rgb( 0 0 0 / 0.1 ); }
.dark cnc-demo-maker .demo-maker_stage--widened { background-color: var( --color-neutral-900 , #18181b ); }
}
cnc-demo-maker .demo-maker_stage--resizing .demo-maker_frame { pointer-events: none; }
cnc-demo-maker .demo-maker_stage-body { position: relative; }
cnc-demo-maker .demo-maker_exit-fullscreen { position: absolute; inset-block-start: 0.5rem; inset-inline-end: 0.5rem; z-index: 10; }
cnc-demo-maker .demo-maker_exit-fullscreen[hidden] { display: none; }
cnc-demo-maker .demo-maker_stage-body--overlay { position: fixed; inset: 0; z-index: 1000; }
cnc-demo-maker .demo-maker_stage-body:fullscreen[data-view="desktop"] > .demo-maker_frame, cnc-demo-maker .demo-maker_stage-body--overlay[data-view="desktop"] > .demo-maker_frame { height: auto !important; flex-grow: 1 !important; }
}
@layer app-widgets {
cnc-desktop .card.shaken { animation: cnc-desktop-shaken 420ms cubic-bezier( 0.2 , 0.8 , 0.2 , 1 ); }
cnc-desktop .card.pulse { animation: cnc-desktop-pulse 1.4s cubic-bezier( 0.2 , 0.8 , 0.2 , 1 ); }
@keyframes cnc-desktop-pulse {
  15%, 48%, 81% { border-color: var( --color-primary-500 ); box-shadow: 0 0 0 6px color-mix( in oklab , var( --color-primary-500 ) 45% , transparent ) , 0 18px 48px color-mix( in oklab , var( --color-slate-900 ) 20% , transparent ); }
  0%, 31%, 64%, 100% { box-shadow: 0 0 0 0 transparent , 0 18px 48px color-mix( in oklab , var( --color-slate-900 ) 20% , transparent ); }
}
@keyframes cnc-desktop-shaken {
  30% { border-color: var( --color-primary-500 ); box-shadow: 0 0 0 4px color-mix( in oklab , var( --color-primary-500 ) 35% , transparent ) , 0 18px 48px color-mix( in oklab , var( --color-slate-900 ) 20% , transparent ); }
}
}
@layer app-widgets {
cnc-details { display: inline-block; color: var(--color-slate-800); }
.dark cnc-details { color: var(--color-slate-200); }
cnc-details .chevron { transition: transform 0.3s ease; }
cnc-details .chevron.rotated { transform: rotate( 90deg ); }
cnc-details .body { grid-template-rows: 0fr; transition: grid-template-rows 0.2s ease; }
cnc-details .body.expanded { grid-template-rows: 1fr; }
}
@layer app-widgets {
cnc-dialog[shape="rounded"], cnc-dialog:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-xl , 0.75rem ) ); }
cnc-dialog[shape="square"], cnc-dialog[shape="rectangle"] { --shape-border-radius: 0; }
cnc-dialog[size="sm"] { --container-inline-size-max: 24rem; --container-padding: 1rem; --title-font-size: 1.125rem; }
cnc-dialog[size="md"], cnc-dialog:not([size]) { --container-inline-size-max: 32rem; --container-padding: 1.25rem; --title-font-size: 1.25rem; }
cnc-dialog[size="lg"] { --container-inline-size-max: 48rem; --container-padding: 1.5rem; --title-font-size: 1.375rem; }
cnc-dialog[size="full"] { --container-inline-size-max: 72rem; --container-padding: 1.5rem; --title-font-size: 1.5rem; }
cnc-dialog { --container-viewport-gap: 0.5rem; --container-block-size-max: calc( 100dvh - 1rem ); --container-border-radius: var( --shape-border-radius , 0 ); --container-border-width: 1px; --container-stack-offset: 0.25rem; --title-font-weight: 600; --footer-border-width: 1px; --close-size: 2rem; --close-icon-size: 1.25rem; --close-border-radius: var( --radius-md , 0.375rem ); --close-transition-duration: 120ms; --close-transition-timing: ease-out; --dialog-translate-closed: 0.5rem; --dialog-scale-closed: 0.98; position: fixed; z-index: 50; }
cnc-dialog:not([kind]), cnc-dialog[kind="filled"] { --container-bg: var( --color-neutral-50 , white ); --container-text-color: var( --color-neutral-800 , rgb( 38 38 38 ) ); --container-border-color: rgb( 0 0 0 / 10% ); --container-shadow: 0 20px 25px -5px rgb( 0 0 0 / 10% ) , 0 8px 10px -6px rgb( 0 0 0 / 10% ); --footer-border-color: var( --container-border-color ); --close-text-color: var( --color-neutral-400 , rgb( 163 163 163 ) ); --close-text-color-hover: var( --color-neutral-700 , rgb( 64 64 64 ) ); --close-bg-hover: var( --color-neutral-100 , rgb( 245 245 245 ) ); }
.dark cnc-dialog:not([kind]), .dark cnc-dialog[kind="filled"] { --container-bg: var( --color-neutral-800 , rgb( 38 38 38 ) ); --container-text-color: var( --color-neutral-100 , rgb( 245 245 245 ) ); --container-border-color: rgb( 255 255 255 / 15% ); --container-shadow: 0 20px 25px -5px rgb( 0 0 0 / 30% ) , 0 8px 10px -6px rgb( 0 0 0 / 20% ); --footer-border-color: var( --container-border-color ); --close-text-color: var( --color-neutral-400 , rgb( 163 163 163 ) ); --close-text-color-hover: var( --color-neutral-100 , rgb( 245 245 245 ) ); --close-bg-hover: var( --color-neutral-700 , rgb( 64 64 64 ) ); }
cnc-dialog[kind="plain"] { --container-bg: inherit; --container-text-color: inherit; --container-border-color: transparent; --container-shadow: none; --footer-border-color: transparent; --close-text-color: currentColor; --close-text-color-hover: currentColor; --close-bg-hover: transparent; }
cnc-dialog .cnc-dialog_overlay .cnc-overlay_surface { inset: 0; inline-size: max-content; block-size: max-content; margin: auto; }
cnc-dialog .cnc-dialog_container { inline-size: min( var( --container-inline-size-max ) , calc( 90vw - 2 * var( --container-viewport-gap ) ) ); max-block-size: var( --container-block-size-max ); color: var( --container-text-color ); background: var( --container-bg ); border: var( --container-border-width ) solid var( --container-border-color ); border-radius: var( --container-border-radius ); box-shadow: var( --container-shadow ); transform: translateY( calc( var( --modal-stack-depth , 0 ) * var( --container-stack-offset ) ) ); }
cnc-dialog .cnc-dialog_header { padding: var( --header-padding , var( --container-padding ) ); }
cnc-dialog .cnc-dialog_title { min-inline-size: 0; font-size: var( --title-font-size ); font-weight: var( --title-font-weight ); }
cnc-dialog .cnc-dialog_close { inline-size: var( --close-size ); block-size: var( --close-size ); padding: 0; color: var( --close-text-color ); background: transparent; border: 0; border-radius: var( --close-border-radius ); transition: color var( --close-transition-duration ) var( --close-transition-timing ) , background var( --close-transition-duration ) var( --close-transition-timing ); }
cnc-dialog .cnc-dialog_close:hover { color: var( --close-text-color-hover ); background: var( --close-bg-hover ); }
cnc-dialog .cnc-dialog_close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
cnc-dialog .cnc-dialog_close-icon { inline-size: var( --close-icon-size ); block-size: var( --close-icon-size ); }
cnc-dialog .cnc-dialog_body { min-block-size: 0; padding: var( --body-padding , var( --container-padding ) ); }
cnc-dialog .cnc-dialog_footer { padding: var( --footer-padding , var( --container-padding ) ); border-top: var( --footer-border-width ) solid var( --footer-border-color ); }
cnc-dialog .cnc-dialog_footer:empty { display: none; }
cnc-dialog .cnc-dialog_overlay div.cnc-overlay_surface { opacity: 0; transform: translateY( var( --dialog-translate-closed ) ) scale( var( --dialog-scale-closed ) ); transition: opacity var( --overlay-transition-duration ) var( --overlay-transition-timing ) , transform var( --overlay-transition-duration ) var( --overlay-transition-timing ); }
cnc-dialog .cnc-dialog_overlay div.cnc-overlay_surface[data-state="open"] { opacity: 1; transform: translateY( 0 ) scale( 1 ); }
cnc-dialog .cnc-dialog_overlay div.cnc-overlay_surface[data-state="closing"] { opacity: 0; transform: translateY( var( --dialog-translate-closed ) ) scale( var( --dialog-scale-closed ) ); }
@media (min-width: 40rem) {
cnc-dialog { --container-viewport-gap: 1rem; --container-block-size-max: calc( 100dvh - 2rem ); --container-stack-offset: 0.5rem; }
}
@media (min-width: 64rem) {
cnc-dialog { --container-viewport-gap: 2rem; --container-block-size-max: calc( 100dvh - 4rem ); --container-stack-offset: 0.75rem; }
}
}
@layer widgets {
cnc-display { display: block; }
cnc-display[size="xxs"] { --value-font-size: 0.75rem; --value-line-height: 1rem; }
cnc-display[size="xs"] { --value-font-size: 0.875rem; --value-line-height: 1.25rem; }
cnc-display[size="sm"] { --value-font-size: 0.875rem; --value-line-height: 1.25rem; }
cnc-display[size="md"], cnc-display:not([size]) { --value-font-size: 1rem; --value-line-height: 1.5rem; }
cnc-display[size="lg"] { --value-font-size: 1.125rem; --value-line-height: 1.75rem; }
cnc-display[size="xl"] { --value-font-size: 1.25rem; --value-line-height: 1.75rem; }
cnc-display[size="2xl"] { --value-font-size: 1.5rem; --value-line-height: 2rem; }
cnc-display { --container-font-weight: 500; --value-color: var( --color-700 , inherit ); --value-font-size: 1rem; --value-line-height: 1.5rem; --text-gap: 0.5rem; --icon-size: 1.25rem; --link-color: var( --color-primary-600 , #2563eb ); --link-color-hover: var( --color-primary-500 , #3b82f6 ); --unit-color: var( --color-500 , var( --color-neutral-500 ) ); --unit-margin-start: 0.25rem; --placeholder-color: var( --color-400 , var( --color-neutral-400 ) ); --swatch-size: 1rem; --swatch-margin-end: 0.5rem; --swatch-border-radius: var( --radius-sm , 0.25rem ); --frame-border-color: var( --color-200 , var( --color-neutral-300 ) ); --frame-border-radius: var( --radius-md , 0.375rem ); --empty-color: var( --color-400 , var( --color-neutral-400 ) ); --empty-bg: var( --color-100 , var( --color-neutral-100 ) ); --empty-height: 8rem; --file-padding-y: 0.75rem; --file-padding-x: 1rem; --file-font-size: 0.875rem; --html-font-size: 0.875rem; }
.dark cnc-display { --value-color: var( --color-200 , inherit ); --link-color: var( --color-primary-400 , #60a5fa ); --link-color-hover: var( --color-primary-300 , #93c5fd ); --unit-color: var( --color-400 , var( --color-neutral-400 ) ); --placeholder-color: var( --color-500 , var( --color-neutral-500 ) ); --frame-border-color: var( --color-600 , var( --color-neutral-600 ) ); --empty-bg: var( --color-800 , var( --color-neutral-800 ) ); }
cnc-display .cnc-display_container { flex-direction: column; font-weight: var( --container-font-weight ); }
cnc-display .cnc-display_value { color: var( --value-color ); font-size: var( --value-font-size ); line-height: var( --value-line-height ); }
cnc-display .cnc-display_text { gap: var( --text-gap ); }
cnc-display .cnc-display_icon { inline-size: var( --icon-size ); block-size: var( --icon-size ); }
cnc-display .cnc-display_link { color: var( --link-color ); text-decoration: none; }
cnc-display .cnc-display_link:hover { color: var( --link-color-hover ); text-decoration: underline; }
cnc-display .cnc-display_unit { margin-inline-start: var( --unit-margin-start ); color: var( --unit-color ); }
cnc-display .cnc-display_placeholder { color: var( --placeholder-color ); }
cnc-display .cnc-display_swatch { inline-size: var( --swatch-size ); block-size: var( --swatch-size ); margin-inline-end: var( --swatch-margin-end ); border-radius: var( --swatch-border-radius ); }
cnc-display .cnc-display_address { gap: var( --text-gap ); }
cnc-display .cnc-display_frame { border: 1px solid var( --frame-border-color ); border-radius: var( --frame-border-radius ); }
cnc-display .cnc-display_empty { color: var( --empty-color ); }
cnc-display .cnc-display_empty:not(.cnc-display_file) { min-block-size: var( --empty-height ); background: var( --empty-bg ); }
cnc-display .cnc-display_file { gap: var( --text-gap ); padding: var( --file-padding-y ) var( --file-padding-x ); font-size: var( --file-font-size ); }
cnc-display .cnc-display_html { font-size: var( --html-font-size ); }
}
@layer widgets {
cnc-display .cnc-display_label { color: var( --color-neutral-700 , #374151 ); font-size: var( --text-sm , 0.875rem ); font-weight: 500; line-height: 1.25rem; margin-block-end: 0.375rem; }
cnc-display[data-label-position="left"] { display: flex; align-items: baseline; gap: 0.5rem; }
cnc-display[data-label-position="left"] .cnc-display_label { margin-block-end: 0; }
}
@layer app-widgets {
cnc-dock { overscroll-behavior: none; display: flex; overflow: hidden; width: 100%; height: 100%; position: relative; display: block; }
cnc-dock .empty-state { color: #a3a3a3; }
cnc-dock .layout-node { min-width: 0; min-height: 0; }
cnc-dock .tabs-container { min-width: 0; min-height: 0; }
cnc-dock .tab-bar { background: #f5f5f5; border-color: #e5e5e5; scrollbar-width: none; -webkit-user-select: none; user-select: none; touch-action: none; }
.dark cnc-dock .tab-bar { background-color: var(--color-neutral-900); }
cnc-dock [data-tab-id], cnc-dock .gutter { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; touch-action: none; }
cnc-dock .tab-bar-horizontal { display: flex; flex-direction: row; overflow-x: auto; align-items: center; padding-inline: calc(var(--box-spacing) * 1); }
cnc-dock .tab-bar-vertical { display: flex; flex-direction: column; overflow-y: auto; align-items: center; padding-block: calc(var(--box-spacing) * 1); }
cnc-dock .tab-bar-top { border-bottom: 1px solid #e5e5e5; }
.dark cnc-dock .tab-bar-top { border-bottom-color: var(--color-neutral-700); }
cnc-dock .tab-bar-bottom { border-top: 1px solid #e5e5e5; }
.dark cnc-dock .tab-bar-bottom { border-top-color: var(--color-neutral-700); }
cnc-dock .tab-bar-left { border-right: 1px solid #e5e5e5; }
.dark cnc-dock .tab-bar-left { border-right-color: var(--color-neutral-700); }
cnc-dock .tab-bar-right { border-left: 1px solid #e5e5e5; }
.dark cnc-dock .tab-bar-right { border-left-color: var(--color-neutral-700); }
cnc-dock .tab { cursor: pointer; }
cnc-dock .tab-content-h { border-bottom: 2px solid transparent; transition: background 0.15s , border-color 0.15s; }
cnc-dock .tab-content-h:hover { background-color: var(--color-neutral-200); }
.dark cnc-dock .tab-content-h:hover { background-color: var(--color-neutral-700); }
cnc-dock .tab-content-h.active { background: white; border-bottom-color: var( --color-primary-500 ); }
.dark cnc-dock .tab-content-h.active { background-color: var(--color-neutral-900); }
cnc-dock .tab-content-v { transition: background 0.15s; }
cnc-dock .tab-content-v:hover { background-color: var(--color-neutral-200); }
.dark cnc-dock .tab-content-v:hover { background-color: var(--color-neutral-700); }
cnc-dock .tab-content-v.active { background: white; box-shadow: 0 1px 3px rgba( 0 , 0 , 0 , 0.1 ); }
.dark cnc-dock .tab-content-v.active { background-color: var(--color-neutral-800); }
cnc-dock .tab-pin:hover { background-color: var(--color-gray-100); }
.dark cnc-dock .tab-pin:hover { background-color: var(--color-neutral-700); }
cnc-dock .tab-pin.pinned { color: var( --color-primary-500 ); }
cnc-dock .tab-close:hover { background-color: var(--color-gray-100); }
.dark cnc-dock .tab-close:hover { background-color: var(--color-neutral-700); }
cnc-dock .tab-panels { min-height: 0; min-width: 0; overscroll-behavior: contain; }
cnc-dock .panel-empty { color: #a3a3a3; }
cnc-dock .gutter { transition: background 0.15s; }
cnc-dock .gutter-v { cursor: col-resize; }
cnc-dock .gutter-h { cursor: row-resize; }
}
@layer app-widgets {
cnc-dom-inspector .highlight-overlay { background-color: transparent; z-index: 10000; position: fixed; pointer-events: none; border: none; margin: 0; padding: 0; overflow: visible; }
cnc-dom-inspector .highlight-overlay.inspected { background-color: rgba( 59 , 130 , 246 , 0.15 ); box-shadow: 0 0 0 2px rgba( 59 , 130 , 246 , 0.8 ); }
cnc-dom-inspector .highlight-overlay.selected { background-color: rgba( 34 , 197 , 94 , 0.15 ); box-shadow: 0 0 0 2px rgba( 34 , 197 , 94 , 0.8 ); }
cnc-dom-inspector .highlight-overlay.preview { background-color: rgba( 156 , 163 , 175 , 0.15 ); box-shadow: 0 0 0 2px rgba( 156 , 163 , 175 , 0.8 ); }
cnc-dom-inspector .highlight-badge { position: absolute; top: -24px; left: 0; display: flex; align-items: center; gap: 6px; padding: 2px 6px; border-radius: 4px; font-size: 11px; font-family: ui-monospace , SFMono-Regular , "SF Mono" , Menlo , Monaco , Consolas , monospace; white-space: nowrap; pointer-events: none; width: fit-content; min-width: fit-content; flex-shrink: 0; }
cnc-dom-inspector .highlight-overlay.inspected .highlight-badge { background-color: rgba( 59 , 130 , 246 , 0.95 ); color: white; }
cnc-dom-inspector .highlight-overlay.selected .highlight-badge { background-color: rgba( 34 , 197 , 94 , 0.95 ); color: white; }
cnc-dom-inspector .highlight-overlay.preview .highlight-badge { background-color: rgba( 107 , 114 , 128 , 0.95 ); color: white; }
cnc-dom-inspector .highlight-tag { font-weight: 600; }
cnc-dom-inspector .highlight-dims { opacity: 0.85; font-weight: 400; }
cnc-dom-inspector .tree-node { min-height: 24px; }
cnc-dom-inspector .--cnc-tooltip-container { border-radius: var(--radius-md); padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 2); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-dom-inspector html:not(.dark) .--cnc-tooltip-container { background-color: var(--color-neutral-900); color: var(--color-neutral-100); }
cnc-dom-inspector html:not(.dark) .--cnc-tooltip-container:after { background-color: var(--color-neutral-900); }
cnc-dom-inspector .dark .--cnc-tooltip-container { background-color: var(--color-white); color: var(--color-neutral-700); }
cnc-dom-inspector .dark .--cnc-tooltip-container:after { background-color: var(--color-white); color: var(--color-neutral-700); }
cnc-dom-inspector .overflow-auto::-webkit-scrollbar { width: 6px; height: 6px; }
cnc-dom-inspector .overflow-auto::-webkit-scrollbar-track { background: transparent; }
cnc-dom-inspector .overflow-auto::-webkit-scrollbar-thumb { background-color: rgba( 156 , 163 , 175 , 0.4 ); border-radius: 3px; }
cnc-dom-inspector .overflow-auto::-webkit-scrollbar-thumb:hover { background-color: rgba( 156 , 163 , 175 , 0.6 ); }
}
@layer app-widgets {
cnc-drag-block { display: block; position: relative; user-select: none; }
cnc-drag-block .db-axis { position: relative; width: 100%; height: 100%; }
cnc-drag-block .db-body { position: absolute; box-sizing: border-box; cursor: grab; touch-action: none; border-radius: 4px; background: rgba( 59 , 130 , 246 , 0.18 ); border: 1px solid rgb( 59 , 130 , 246 ); }
cnc-drag-block .db-body.dragging { cursor: grabbing; }
cnc-drag-block .db-body.db-y { left: 0; right: 0; }
cnc-drag-block .db-body.db-x { top: 0; bottom: 0; }
cnc-drag-block .db-handle { position: absolute; box-sizing: border-box; touch-action: none; background: rgb( 59 , 130 , 246 ); opacity: 0.55; }
cnc-drag-block .db-handle:hover, cnc-drag-block .db-handle:focus { opacity: 1; }
cnc-drag-block .db-y > .db-handle { left: 0; right: 0; height: min( 8px , 25% ); cursor: ns-resize; }
cnc-drag-block .db-y > .db-handle-start { top: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; }
cnc-drag-block .db-y > .db-handle-end { bottom: 0; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; }
cnc-drag-block .db-x > .db-handle { top: 0; bottom: 0; width: min( 8px , 25% ); cursor: ew-resize; }
cnc-drag-block .db-x > .db-handle-start { left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
cnc-drag-block .db-x > .db-handle-end { right: 0; border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
cnc-drag-block .db-body:focus, cnc-drag-block .db-handle:focus { outline: 2px solid rgb( 37 , 99 , 235 ); outline-offset: 1px; }
cnc-drag-block .db-body[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
}
@layer app-widgets {
cnc-dragdrop { display: block; }
cnc-dragdrop .gu-mirror { position: fixed !important; margin: 0 !important; z-index: 9999 !important; opacity: 0.8; }
cnc-dragdrop .gu-hide { display: none !important; }
cnc-dragdrop .gu-unselectable { user-select: none !important; }
cnc-dragdrop .gu-transit { opacity: 0.2; }
cnc-dragdrop .handle { cursor: move; }
}
@layer app-widgets {
cnc-drawer { --shape-border-radius: 0; }
cnc-drawer { --panel-min-inline-size: 0; --panel-inline-size: max-content; --panel-max-inline-size: min( 32rem , 100vw ); --panel-min-block-size: 0; --panel-block-size: max-content; --panel-max-block-size: min( 32rem , 80vh ); }
cnc-drawer { --panel-bg: var( --color-neutral-50 , white ); --panel-text-color: var( --color-neutral-900 , #171717 ); --panel-shadow: none; --panel-shadow-offset: 0 8px; --backdrop-bg: transparent; --backdrop-filter-open: blur( 0 ); --container-transition-duration: 300ms; --container-transition-timing: cubic-bezier( 0.22 , 1 , 0.36 , 1 ); }
cnc-drawer.left { --panel-shadow-offset: 8px 0; }
cnc-drawer.right { --panel-shadow-offset: -8px 0; }
cnc-drawer.top { --panel-shadow-offset: 0 8px; }
cnc-drawer.bottom { --panel-shadow-offset: 0 -8px; }
cnc-drawer[data-shadow="true"] { --panel-shadow: var( --panel-shadow-offset ) 24px -4px rgb( 0 0 0 / 18% ); }
.dark cnc-drawer { --panel-bg: var( --color-neutral-900 , #171717 ); --panel-text-color: var( --color-neutral-100 , #f5f5f5 ); }
cnc-drawer { display: block; }
cnc-drawer[data-cnc-pending] { display: none; }
cnc-drawer .cnc-drawer_layer[data-pending] .cnc-drawer_content { visibility: hidden; }
cnc-drawer .cnc-drawer_layer[data-pending] .cnc-drawer_panel { animation: cnc-drawer-cnc-drawer-pending 1.2s ease-in-out infinite; }
@keyframes cnc-drawer-cnc-drawer-pending {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
cnc-drawer .cnc-drawer_layer { pointer-events: none; z-index: var( --container-z-index , 40 ); }
cnc-drawer .cnc-drawer_overlay { --overlay-transition-duration: var( --container-transition-duration ); --overlay-transition-timing: var( --container-transition-timing ); }
cnc-drawer .cnc-drawer_overlay dialog.cnc-overlay_surface { position: fixed; inset: 0; inline-size: 100vw; max-inline-size: 100vw; block-size: 100vh; block-size: 100svh; max-block-size: 100vh; max-block-size: 100svh; overflow: hidden; background: transparent; transform: none; }
cnc-drawer .cnc-drawer_overlay .cnc-overlay_content { display: contents; }
cnc-drawer.viewport .cnc-drawer_layer .cnc-drawer_backdrop { background: transparent; backdrop-filter: none; }
cnc-drawer.contained.floating .cnc-drawer_layer { position: absolute; inset: 0; overflow: hidden; }
cnc-drawer.contained.floating .cnc-drawer_panel { position: absolute; }
cnc-drawer .cnc-drawer_backdrop { opacity: 0; background: var( --backdrop-bg ); backdrop-filter: blur( 0 ); transition: opacity var( --container-transition-duration ) var( --container-transition-timing ) , backdrop-filter var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-drawer .cnc-drawer_panel { color: var( --panel-text-color ); background: var( --panel-bg ); box-shadow: var( --panel-shadow ); transition: transform var( --container-transition-duration ) var( --container-transition-timing ) , inline-size var( --container-transition-duration ) var( --container-transition-timing ) , block-size var( --container-transition-duration ) var( --container-transition-timing ); will-change: transform; }
cnc-drawer .cnc-drawer_content { min-inline-size: inherit; min-block-size: inherit; }
cnc-drawer .cnc-drawer_content > * { height: 100%; }
cnc-drawer[data-backdrop="dark"] { --backdrop-bg: rgb( 0 0 0 / 55% ); }
cnc-drawer[data-backdrop="blur"] { --backdrop-bg: transparent; --backdrop-filter-open: blur( 0.5rem ); }
cnc-drawer.left .cnc-drawer_panel, cnc-drawer.right .cnc-drawer_panel { inset-block: 0; inline-size: var( --panel-inline-size ); min-inline-size: var( --panel-min-inline-size ); max-inline-size: var( --panel-max-inline-size ); block-size: 100%; }
cnc-drawer.left .cnc-drawer_panel { inset-inline-start: 0; transform: translateX( -100% ); }
cnc-drawer.right .cnc-drawer_panel { inset-inline-end: 0; transform: translateX( 100% ); }
cnc-drawer.top .cnc-drawer_panel, cnc-drawer.bottom .cnc-drawer_panel { inset-inline: 0; inline-size: 100%; block-size: var( --panel-block-size ); min-block-size: var( --panel-min-block-size ); max-block-size: var( --panel-max-block-size ); }
cnc-drawer.top .cnc-drawer_panel { inset-block-start: 0; transform: translateY( -100% ); }
cnc-drawer.bottom .cnc-drawer_panel { inset-block-end: 0; transform: translateY( 100% ); }
cnc-drawer.push { display: grid; position: relative; z-index: var( --container-z-index , 40 ); overflow: hidden; box-shadow: none; }
cnc-drawer.push.left, cnc-drawer.push.right { flex: none; grid-template-columns: 0fr; block-size: 100%; transition: grid-template-columns var( --container-transition-duration ) var( --container-transition-timing ) , box-shadow var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-drawer.push.top, cnc-drawer.push.bottom { grid-template-rows: 0fr; inline-size: 100%; transition: grid-template-rows var( --container-transition-duration ) var( --container-transition-timing ) , box-shadow var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-drawer.push .cnc-drawer_layer { position: relative; min-inline-size: 0; min-block-size: 0; inline-size: auto; block-size: auto; overflow: hidden; }
cnc-drawer.push .cnc-drawer_panel { position: relative; box-shadow: none; }
cnc-drawer .cnc-drawer_layer[data-state="opening"], cnc-drawer .cnc-drawer_layer[data-state="open"], cnc-drawer .cnc-drawer_layer[data-state="closing"] { pointer-events: auto; }
cnc-drawer .cnc-drawer_layer[data-state="open"] .cnc-drawer_backdrop { opacity: 1; backdrop-filter: var( --backdrop-filter-open ); }
cnc-drawer .cnc-drawer_layer[data-state="open"] .cnc-drawer_panel { transform: translate( 0 , 0 ); }
cnc-drawer.push.left[data-state="open"], cnc-drawer.push.right[data-state="open"] { grid-template-columns: 1fr; }
cnc-drawer.push.top[data-state="open"], cnc-drawer.push.bottom[data-state="open"] { grid-template-rows: 1fr; }
cnc-drawer.push[data-shadow="true"][data-state="open"] { box-shadow: var( --panel-shadow ); }
cnc-drawer[animation="none"] { --container-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-drawer { --container-transition-duration: 0ms; }
}
}
@layer app-widgets {
cnc-drop { --trigger-cursor: pointer; }
cnc-drop .cnc-drop_trigger { width: 100%; cursor: var( --trigger-cursor ); }
}
@layer app-widgets {
cnc-field { display: block; }
cnc-field.left { display: flex; align-items: flex-start; }
cnc-field .field-label { display: block; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-medium); --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); color: var(--color-neutral-600); margin-bottom: calc(var(--box-spacing) * 1); }
.dark cnc-field .field-label { color: var(--color-neutral-400); }
cnc-field .field-label.left { margin-right: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1.5); margin-bottom: calc(var(--box-spacing) * 0); flex-shrink: 0; }
cnc-field .field-label.floating { pointer-events: none; position: absolute; z-index: 10; left: calc(var(--spacing) * 3); top: calc(var(--spacing) * 3); color: var(--color-neutral-400); margin-bottom: calc(var(--box-spacing) * 0); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
.dark cnc-field .field-label.floating { color: var(--color-neutral-400); }
cnc-field .field-label.floating.non-empty { left: 0px; top: calc(var(--spacing) * -5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
cnc-field .field-content.floating:has(:is(input, textarea):placeholder-shown:not([placeholder=""])) > .field-label.floating { left: 0px; top: calc(var(--spacing) * -5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
cnc-field .field-content { width: 100%; display: flex; align-items: stretch; }
cnc-field .field-content > * { flex: 1; }
cnc-field .field-content.floating { position: relative; margin-top: calc(var(--box-spacing) * 3); }
cnc-field .required { color: var(--color-danger-600); margin-left: calc(var(--box-spacing) * 0.5); }
.dark cnc-field .required { color: var(--color-danger-500); }
cnc-field .help { margin-top: calc(var(--box-spacing) * 1); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-neutral-500); }
.dark cnc-field .help { color: var(--color-neutral-500); }
cnc-field .error { margin-top: calc(var(--box-spacing) * 1); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-danger-500); }
.dark cnc-field .error { color: var(--color-danger-600); }
:where( cnc-field .field-list > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); }
cnc-field .field-row { display: flex; align-items: center; gap: calc(var(--spacing) * 2); }
cnc-field .field-row > :first-child { flex: 1; }
cnc-field .remove-item { flex-shrink: 0; color: var(--color-neutral-400); padding: calc(var(--box-spacing) * 1); }
cnc-field .remove-item:hover { color: var(--color-danger-500); }
cnc-field .add-item { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-primary-600); margin-top: calc(var(--box-spacing) * 1); }
cnc-field .add-item:hover { color: var(--color-primary-700); }
cnc-field .field-hint { margin-left: calc(var(--box-spacing) * 1); vertical-align: middle; }
cnc-field .field-content > .field-hint { flex: none; align-self: center; }
cnc-field .field-hint-icon { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); color: var(--color-neutral-500); }
.dark cnc-field .field-hint-icon { color: var(--color-neutral-400); }
cnc-field[size="sm"] .field-label { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }
cnc-field[size="sm"] .field-hint-icon { width: calc(var(--spacing) * 3.5); height: calc(var(--spacing) * 3.5); }
cnc-field[size="sm"] .help, cnc-field[size="sm"] .error { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
cnc-field[size="lg"] .field-label, cnc-field[size="xl"] .field-label, cnc-field[size="2xl"] .field-label { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); --tw-leading: calc(var(--spacing) * 5); line-height: calc(var(--spacing) * 5); }
cnc-field[size="lg"] .field-hint-icon, cnc-field[size="xl"] .field-hint-icon, cnc-field[size="2xl"] .field-hint-icon { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }
}
@layer app-widgets {
cnc-fieldset { --field-min-width: 160px; --field-label-width: 80px; display: block; margin-bottom: calc(var(--box-spacing) * 6); }
@media (width >= 40rem) {
cnc-fieldset { --field-min-width: 200px; --field-label-width: 100px; margin-bottom: calc(var(--box-spacing) * 8); }
}
cnc-fieldset .fieldset-line-end.has-line { border-top-width: 1px; border-top-style: var(--tw-border-style); border-color: var(--color-slate-300); }
.dark cnc-fieldset .fieldset-line-end.has-line { border-color: var(--color-slate-600); }
cnc-fieldset .fieldset-label { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); font-weight: var(--font-weight-semibold); --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); white-space: nowrap; }
cnc-fieldset .fieldset-arrow-toggle { display: flex; align-items: center; cursor: pointer; }
cnc-fieldset .fieldset-arrow-icon { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); margin-right: calc(var(--box-spacing) * 1); transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-duration: 300ms; }
cnc-fieldset .fieldset-arrow-icon.rotated { transform: rotate( 90deg ); }
cnc-fieldset .fieldset-body { grid-template-rows: 0fr; }
cnc-fieldset .fieldset-body.open { grid-template-rows: 1fr; }
cnc-fieldset .fieldset-body.open .fieldset-body-inner { overflow: visible; }
cnc-fieldset .fieldset-container { grid-template-columns: repeat( auto-fill , minmax( var( --field-min-width ) , 1fr ) ); }
cnc-fieldset .fieldset-spaced { display: grid; }
@media (width >= 40rem) {
cnc-fieldset .fieldset-spaced { grid-template-columns: 300px 1fr; }
}
cnc-fieldset .fieldset-spaced.has-line { border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); }
.dark cnc-fieldset .fieldset-spaced.has-line { border-color: var(--color-slate-700); }
cnc-fieldset .fieldset-spaced-label { width: fit-content; font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
cnc-fieldset .fieldset-spaced-description { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-normal); margin-bottom: calc(var(--box-spacing) * 5); color: var(--color-slate-600); }
.dark cnc-fieldset .fieldset-spaced-description { color: var(--color-slate-400); }
cnc-fieldset .fieldset-spaced-body { overflow: hidden; margin-bottom: calc(var(--box-spacing) * 6); }
cnc-fieldset .fieldset-spaced-container { row-gap: calc(var(--spacing) * 5); column-gap: calc(var(--spacing) * 12); }
}
@layer app-widgets {
cnc-fieldset-spaced { display: block; }
cnc-fieldset-spaced .fieldset-spaced { grid-template-columns: 300px 1fr; display: grid; }
@media (640px) {
  cnc-fieldset-spaced .fieldset-spaced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
cnc-fieldset-spaced .fieldset-spaced.has-line { border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); }
.dark cnc-fieldset-spaced .fieldset-spaced.has-line { border-color: var(--color-slate-700); }
cnc-fieldset-spaced .fieldset-label { width: fit-content; font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); font-weight: var(--font-weight-semibold); --tw-leading: calc(var(--spacing) * 7); line-height: calc(var(--spacing) * 7); white-space: nowrap; }
cnc-fieldset-spaced .fieldset-description { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-normal); margin-bottom: calc(var(--box-spacing) * 5); color: var(--color-slate-600); }
.dark cnc-fieldset-spaced .fieldset-description { color: var(--color-slate-400); }
cnc-fieldset-spaced .fieldset-body { grid-template-rows: 0fr; display: grid; overflow: hidden; margin-bottom: calc(var(--box-spacing) * 6); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-duration: 200ms; }
cnc-fieldset-spaced .fieldset-body.open { grid-template-rows: 1fr; }
}
@layer app-widgets {
cnc-file-browser { min-height: 24rem; }
cnc-file-browser .file-browser { height: 100%; color: var( --color-neutral-900 , #171717 ); }
cnc-file-browser .path-part { display: inline-flex; min-width: 0; align-items: center; gap: 0.25rem; color: var( --color-neutral-600 , #525252 ); font-size: 0.875rem; }
cnc-file-browser .path-part:last-child { color: var( --color-primary-600 , #2563eb ); font-weight: 600; }
cnc-file-browser .search-box:focus-within, cnc-file-browser .path-bar:focus-within { border-color: var( --color-primary-400 , #60a5fa ); box-shadow: inset 0 0 0 2px var( --color-primary-500 ); }
cnc-file-browser .path-bar { box-shadow: inset 0 0 0 1px var( --color-neutral-300 ); padding: 0.375rem 0.5rem; line-height: 1.25rem; }
cnc-file-browser .toolbar-select, cnc-file-browser .tool-button { display: inline-flex; min-height: 2.25rem; align-items: center; border: 1px solid var( --color-neutral-200 , #e5e5e5 ); border-radius: 0.5rem; background: transparent; padding: 0 0.65rem; color: var( --color-neutral-700 , #404040 ); font-size: 0.875rem; }
cnc-file-browser .toolbar-select { gap: 0.4rem; }
cnc-file-browser .toolbar-select select { background: transparent; outline: none; }
cnc-file-browser .tool-button:hover { background: var( --color-neutral-100 , #f5f5f5 ); }
cnc-file-browser .gallery-grid { display: grid; grid-template-columns: repeat( auto-fill , minmax( 9rem , 1fr ) ); gap: 0.875rem; }
cnc-file-browser .empty-folder-state { display: flex; width: 100%; align-items: center; justify-content: center; gap: 0.5rem; padding: 2rem; color: var( --color-neutral-500 , #737373 ); font-size: 0.875rem; }
cnc-file-browser .empty-folder-state:not(:disabled):hover { color: var( --color-primary-600 , #2563eb ); }
cnc-file-browser .file-browser-table { border: none; border-radius: 0; }
cnc-file-browser cnc-table2 .cell.file-drop-target, cnc-file-browser .gallery-card.file-drop-target { border-color: var( --color-primary-500 , #3b82f6 ); background: color-mix( in srgb , var( --color-primary-500 ) 12% , transparent ); box-shadow: inset 0 0 0 1px var( --color-primary-500 , #3b82f6 ); }
cnc-file-browser .gallery-card { min-width: 0; border: 1px solid var( --color-neutral-200 , #e5e5e5 ); border-radius: 0.75rem; padding: 0.65rem; text-align: left; }
cnc-file-browser .gallery-card:hover, cnc-file-browser .gallery-card.selected { border-color: var( --color-primary-400 , #60a5fa ); background: color-mix( in srgb , var( --color-primary-500 ) 6% , transparent ); }
cnc-file-browser .thumbnail { display: grid; height: 7rem; place-items: center; overflow: hidden; border-radius: 0.5rem; background: var( --color-neutral-100 , #f5f5f5 ); margin-bottom: 0.65rem; }
cnc-file-browser .thumbnail img, cnc-file-browser .preview-surface img { width: 100%; height: 100%; object-fit: contain; }
cnc-file-browser .details-drawer { --panel-inline-size: 20rem; --panel-max-inline-size: 40vw; }
cnc-file-browser .preview-surface { display: grid; height: 15rem; place-items: center; overflow: hidden; border: 1px solid var( --color-neutral-200 , #e5e5e5 ); border-radius: 0.75rem; background: var( --color-neutral-100 , #f5f5f5 ); }
cnc-file-browser .preview-surface iframe { width: 100%; height: 100%; border: 0; }
cnc-file-browser .details-list { margin-top: 0.5rem; font-size: 0.8rem; }
cnc-file-browser .details-list > div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var( --color-neutral-200 , #e5e5e5 ); padding: 0.65rem 0; }
cnc-file-browser .details-list dt { color: var( --color-neutral-500 , #737373 ); }
cnc-file-browser .details-list dd { max-width: 65%; text-align: right; }
.dark cnc-file-browser .file-browser { color: var( --color-neutral-100 , #f5f5f5 ); }
.dark cnc-file-browser .toolbar-select, .dark cnc-file-browser .tool-button, .dark cnc-file-browser .gallery-card, .dark cnc-file-browser .preview-surface, .dark cnc-file-browser .details-list > div { border-color: var( --color-neutral-700 , #404040 ); }
.dark cnc-file-browser .tool-button:hover, .dark cnc-file-browser .thumbnail, .dark cnc-file-browser .preview-surface { background: var( --color-neutral-800 , #262626 ); }
@media (max-width: 900px) {
cnc-file-browser .details-drawer { --panel-inline-size: 17rem; --panel-max-inline-size: 50vw; }
}
}
@layer app-widgets {
cnc-file-tree .cnc-file-tree cnc-treetable2 [data-role="tree-content"] { grid-template-columns: min-content minmax( 0 , 1fr ) min-content; --columns-count: 4; }
cnc-file-tree .cnc-file-tree [data-role="file-name"][contenteditable="true"] { min-width: 3rem; cursor: text; overflow: visible; text-overflow: clip; outline: 1px solid var( --color-primary-500 ); outline-offset: 0px; }
cnc-file-tree .file-tree-search { grid-template-rows: 0fr; transition: grid-template-rows 0.2s ease; }
cnc-file-tree .file-tree-search.expanded { grid-template-rows: 1fr; }
cnc-file-tree .file-tree-dropzone { transition: background-color 0.15s ease , outline-color 0.15s ease; }
cnc-file-tree .file-tree-dropzone.file-drag-active { background: color-mix( in srgb , var( --color-primary-500 ) 8% , transparent ); outline: 2px dashed var( --color-primary-500 ); outline-offset: -4px; }
cnc-file-tree .cnc-file-tree .file-drop-target { background: color-mix( in srgb , var( --color-primary-500 ) 16% , transparent ); outline: 1px solid var( --color-primary-500 ); }
cnc-file-tree .item .selected { background: color-mix( in srgb , var( --color-primary-500 ) 10% , transparent ); }
}
@layer app-widgets {
cnc-filter { display: inline-block; position: relative; }
cnc-filter .filter-pill { transition: all 0.15s ease; display: inline-flex; align-items: center; gap: calc(var(--spacing) * 1); cursor: pointer; user-select: none; padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 0.5); border-radius: calc(infinity * 1px); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); color: var(--color-slate-700); }
cnc-filter .filter-pill:hover { border-color: var(--color-slate-400); }
cnc-filter .filter-pill.active { color: var(--color-white); border-color: var(--color-primary-500); background-color: var(--color-primary-500); }
cnc-filter .filter-pill.active:hover { background-color: var(--color-primary-600); }
cnc-filter .filter-chevron { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); margin-left: calc(var(--box-spacing) * 0.5); }
cnc-filter .filter-drop-content { min-width: 200px; }
cnc-filter .filter-vlabel { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-slate-500); display: block; margin-bottom: calc(var(--box-spacing) * 1); }
cnc-filter .filter-options, cnc-filter .filter-int, cnc-filter .filter-date { padding: calc(var(--box-spacing) * 2); }
cnc-filter .options-list { display: flex; flex-direction: column; gap: calc(var(--spacing) * 1); }
cnc-filter .filter-option { display: flex; align-items: center; gap: calc(var(--spacing) * 2); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-slate-700); cursor: pointer; padding-block: calc(var(--box-spacing) * 1); padding-inline: calc(var(--box-spacing) * 1); border-radius: 0.25rem; }
cnc-filter .filter-option:hover { background-color: var(--color-slate-100); }
cnc-filter .filter-option input[type="checkbox"] { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); border-radius: 0.25rem; border-color: var(--color-slate-300); color: var(--color-primary-600); }
cnc-filter .filter-option input[type="checkbox"]:focus { --tw-ring-color: var(--color-primary-500); }
cnc-filter .int-inputs, cnc-filter .date-inputs { display: flex; gap: calc(var(--spacing) * 2); }
cnc-filter .int-field, cnc-filter .date-field { display: flex; flex-direction: column; }
cnc-filter .int-label, cnc-filter .date-label { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-slate-500); margin-bottom: calc(var(--box-spacing) * 1); }
cnc-filter .int-input { width: calc(var(--spacing) * 28); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); border-radius: 0.25rem; padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1); --tw-outline-style: none; outline-style: none; }
cnc-filter .int-input:focus { border-color: var(--color-primary-500); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-primary-500); }
cnc-filter .date-input { width: calc(var(--spacing) * 36); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); border-radius: 0.25rem; padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1); --tw-outline-style: none; outline-style: none; }
cnc-filter .date-input:focus { border-color: var(--color-primary-500); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-primary-500); }
cnc-filter .clear-btn { margin-top: calc(var(--box-spacing) * 2); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-primary-600); cursor: pointer; background-color: transparent; border-width: 0px; border-style: var(--tw-border-style); padding: calc(var(--box-spacing) * 0); }
cnc-filter .clear-btn:hover { color: var(--color-primary-500); }
}
@layer app-widgets {
cnc-filter-view .filter-tag { padding: 0.125rem 0.75rem; border: 1px solid #d1d5db; display: inline-flex; align-items: center; gap: calc(var(--spacing) * 1); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-weight: var(--font-weight-bold); border-radius: calc(infinity * 1px); background-color: var(--color-slate-100); color: var(--color-gray-700); }
cnc-filter-view .filter-tag-close { margin-left: 0.25rem; cursor: pointer; opacity: 70%; }
cnc-filter-view .filter-tag-close:hover { opacity: 1; }
}
@layer app-widgets {
cnc-floater[shape="square"] { --shape-border-radius: 0; }
cnc-floater[shape="soft"] { --shape-border-radius: var( --radius-sm , 0.25rem ); }
cnc-floater[shape="rounded"], cnc-floater:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-floater[size="sm"] { --header-min-height: 2rem; --header-padding: 0.25rem; --header-gap: 0.25rem; --title-font-size: 0.8125rem; --button-size: 1.5rem; --icon-size: 0.875rem; --resize-handle-size: 0.75rem; }
cnc-floater[size="md"], cnc-floater:not([size]) { --header-min-height: 2.5rem; --header-padding: 0.375rem; --header-gap: 0.375rem; --title-font-size: 0.875rem; --button-size: 1.75rem; --icon-size: 1rem; --resize-handle-size: 1rem; }
cnc-floater[size="lg"] { --header-min-height: 3rem; --header-padding: 0.5rem; --header-gap: 0.5rem; --title-font-size: 1rem; --button-size: 2rem; --icon-size: 1.125rem; --resize-handle-size: 1.25rem; }
cnc-floater { --container-border-radius: var( --shape-border-radius , 0 ); --container-border-width: 1px; --container-shadow: 0 0.75rem 2rem rgb( 0 0 0 / 16% ); --container-shadow-active: 0 1.25rem 2.75rem rgb( 0 0 0 / 24% ); --header-border-width: 1px; --title-font-weight: 600; --button-border-radius: var( --radius-sm , 0.25rem ); --container-transition-duration: 140ms; --container-transition-timing: ease-out; }
cnc-floater[kind="filled"], cnc-floater:not([kind]) { --container-bg: var( --color-neutral-50 , white ); --container-text-color: var( --color-neutral-800 , #262626 ); --container-border-color: var( --color-neutral-400 , #737373 ); --header-bg: var( --color-neutral-100 , #f5f5f5 ); --header-border-color: var( --color-neutral-300 , #d4d4d4 ); --button-text-color: var( --color-neutral-500 , #737373 ); --button-text-color-hover: var( --color-neutral-900 , #171717 ); --button-bg-hover: var( --color-neutral-200 , #e5e5e5 ); --resize-handle-color: var( --color-neutral-400 , #a3a3a3 ); }
.dark cnc-floater[kind="filled"], .dark cnc-floater:not([kind]) { --container-bg: var( --color-neutral-800 , #262626 ); --container-text-color: var( --color-neutral-200 , #e5e5e5 ); --container-border-color: var( --color-neutral-600 , #a3a3a3 ); --header-bg: var( --color-neutral-800 , #262626 ); --header-border-color: var( --color-neutral-600 , #525252 ); --button-text-color: var( --color-neutral-300 , #d4d4d4 ); --button-text-color-hover: white; --button-bg-hover: var( --color-neutral-700 , #404040 ); --resize-handle-color: var( --color-neutral-400 , #a3a3a3 ); }
cnc-floater[kind="plain"] { --container-bg: var( --color-neutral-50 , white ); --container-text-color: var( --color-neutral-800 , #262626 ); --container-border-color: transparent; --container-border-width: 0; --container-shadow: none; --container-shadow-active: none; --header-bg: inherit; --header-border-color: transparent; --button-text-color: currentColor; --button-text-color-hover: currentColor; --button-bg-hover: rgb( 0 0 0 / 8% ); --resize-handle-color: currentColor; }
.dark cnc-floater[kind="plain"] { --container-bg: var( --color-neutral-800 , #262626 ); --container-text-color: var( --color-neutral-200 , #e5e5e5 ); --button-bg-hover: rgb( 255 255 255 / 10% ); }
cnc-floater { display: inline-block; position: absolute; pointer-events: none; min-inline-size: var( --container-min-width , 10rem ); min-block-size: var( --container-min-height , 5rem ); }
cnc-floater .cnc-floater_overlay { --surface-bg: transparent; --surface-text-color: inherit; --surface-border-radius: var( --container-border-radius ); pointer-events: auto; }
cnc-floater .cnc-floater_overlay .cnc-overlay_content { inline-size: 100%; block-size: 100%; }
cnc-floater .cnc-floater_container { inline-size: 100%; block-size: 100%; min-inline-size: var( --container-min-width , 10rem ); min-block-size: var( --container-min-height , 4rem ); color: var( --container-text-color ); background: var( --container-bg ); border: var( --container-border-width ) solid var( --container-border-color ); border-radius: var( --container-border-radius ); box-shadow: var( --container-shadow ); transition: box-shadow var( --container-transition-duration ) var( --container-transition-timing ) , opacity var( --container-transition-duration ) var( --container-transition-timing ) , transform var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-floater .cnc-floater_header { min-block-size: var( --header-min-height ); gap: var( --header-gap ); padding: var( --header-padding ); color: inherit; background: var( --header-bg ); border-block-end: var( --header-border-width ) solid var( --header-border-color ); touch-action: none; }
cnc-floater .cnc-floater_handle { inline-size: var( --icon-size ); block-size: var( --icon-size ); color: var( --button-text-color ); }
cnc-floater .cnc-floater_title { font-size: var( --title-font-size ); font-weight: var( --title-font-weight ); }
cnc-floater .cnc-floater_actions { gap: var( --header-gap ); }
cnc-floater .cnc-floater_button { inline-size: var( --button-size ); block-size: var( --button-size ); padding: 0; color: var( --button-text-color ); background: transparent; border-radius: var( --button-border-radius ); cursor: pointer; }
cnc-floater .cnc-floater_icon { inline-size: var( --icon-size ); block-size: var( --icon-size ); }
cnc-floater .cnc-floater_indicator { inline-size: calc( var( --icon-size ) * 0.45 ); block-size: calc( var( --icon-size ) * 0.45 ); border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate( 225deg ); transition: transform var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-floater .cnc-floater_indicator.collapsed { transform: rotate( 45deg ); }
cnc-floater .cnc-floater_content { color: inherit; background: inherit; }
cnc-floater .cnc-floater_resize-handle { margin-bottom: 0.25rem; margin-right: 0.25rem; inset-inline-end: 0; inset-block-end: 0; inline-size: var( --resize-handle-size ); block-size: var( --resize-handle-size ); z-index: 1; color: var( --resize-handle-color ); cursor: se-resize; touch-action: none; background: linear-gradient( 135deg , transparent 42% , currentColor 42% 50% , transparent 50% 62% , currentColor 62% 70% , transparent 70% ); }
cnc-floater .cnc-floater_button:hover { color: var( --button-text-color-hover ); background: var( --button-bg-hover ); }
cnc-floater .cnc-floater_button:focus-visible { outline: 2px solid var( --container-border-color ); outline-offset: 1px; }
cnc-floater .cnc-floater_resize-handle:focus-visible { outline: 2px solid var( --container-border-color ); outline-offset: -2px; }
cnc-floater .cnc-floater_container.dragging, cnc-floater .cnc-floater_container.resizing { box-shadow: var( --container-shadow-active ); }
cnc-floater .cnc-floater_container.collapsed { block-size: auto; min-block-size: 0; }
cnc-floater .cnc-floater_container.collapsed .cnc-floater_content, cnc-floater .cnc-floater_container.collapsed .cnc-floater_resize-handle { display: none; }
cnc-floater .cnc-floater_container.maximized .cnc-floater_resize-handle, cnc-floater .cnc-floater_container.mobile .cnc-floater_resize-handle { display: none; }
cnc-floater .cnc-floater_container.maximized .cnc-floater_header, cnc-floater .cnc-floater_container.mobile .cnc-floater_header { cursor: default; }
cnc-floater .cnc-floater_container.mobile { border-end-start-radius: 0; border-end-end-radius: 0; }
cnc-floater[animation="none"] { --container-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-floater { --container-transition-duration: 0ms; }
}
}
@layer app-widgets {
cnc-form { display: block; }
cnc-form .form-wrapper { width: 100%; }
cnc-form .form-error { margin-bottom: calc(var(--box-spacing) * 3); }
}
@layer app-widgets {
cnc-form-builder .col-resizer { transition: background 0.15s; }
cnc-form-builder .col-resizer:hover, cnc-form-builder .col-resizer:active { background: #d1d5db !important; }
cnc-form-builder .form-builder-preview .cnc-nested-children { display: flex; flex-direction: row; flex-wrap: wrap; }
cnc-form-builder .form-builder-block { border-color: rgba( 0 , 0 , 0 , 0 ); border-width: 2px; cursor: pointer; }
cnc-form-builder .form-builder-block.selected { border: 2px dashed var( --color-primary-500 ) !important; border-radius: 0.25rem; border-top-right-radius: 0 !important; padding: 5px 10px; border-radius: 0.15rem; border-top-right-radius: 0 !important; padding: 2px 10px 2px 2px; }
cnc-form-builder cnc-form-renderer .cnc-nested-children { padding: 0.25rem; transition: padding 250ms; min-height: 1px; border-radius: 0.25rem; }
cnc-form-builder .select-tree nav nav { padding-left: 0.5rem !important; }
cnc-form-builder .form-builder-preview .x-dragdrop-dragging .x-dragdrop-over { border: 2px dashed #10b981 !important; }
cnc-form-builder .form-builder-preview .x-dragdrop-dragging .cnc-nested-children, cnc-form-builder .form-builder-preview.show-layout .cnc-nested-children, cnc-form-builder .form-builder-block-children { padding: 0.25rem; transition: padding 250ms; min-height: 1px; border-radius: 0.25rem; }
}
@layer app-widgets {
cnc-form-field2 { display: block; }
}
@layer app-widgets {
cnc-form-renderer { display: block; }
cnc-form-renderer .cnc-nested-children { display: flex; flex-flow: row wrap; }
cnc-form-renderer .form-renderer { width: 100%; }
}
@layer app-widgets {
cnc-gantt-chart { display: block; width: 100%; }
cnc-gantt-chart .gantt-root { position: relative; }
cnc-gantt-chart .gantt-container { height: inherit; display: flex; flex-direction: column; background-color: var(--color-white); overflow: hidden; }
.dark cnc-gantt-chart .gantt-container { background-color: var(--color-zinc-700); }
cnc-gantt-chart .gantt-header { display: flex; flex-direction: row; background-color: var(--color-zinc-50); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
.dark cnc-gantt-chart .gantt-header { background-color: var(--color-neutral-700); }
cnc-gantt-chart .gantt-col-header { padding-block: calc(var(--box-spacing) * 3); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
cnc-gantt-chart .gantt-col-resizer:hover { background-color: var(--color-primary-400); }
cnc-gantt-chart .gantt-time-header-scroll { scrollbar-width: none; }
cnc-gantt-chart .gantt-time-header-scroll::-webkit-scrollbar { display: none; }
cnc-gantt-chart .gantt-scale-row { border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); }
.dark cnc-gantt-chart .gantt-scale-row { border-color: var(--color-slate-600); }
cnc-gantt-chart .gantt-scale-cell { height: 100%; display: flex; justify-content: center; align-items: center; white-space: nowrap; padding-block: calc(var(--box-spacing) * 2); padding-inline: calc(var(--box-spacing) * 0); color: var(--color-neutral-500); cursor: pointer; }
.dark cnc-gantt-chart .gantt-scale-cell { color: var(--color-neutral-100); }
cnc-gantt-chart .gantt-scale-cell:hover { background-color: var(--color-neutral-200); }
.dark cnc-gantt-chart .gantt-scale-cell:hover { background-color: var(--color-neutral-600); }
cnc-gantt-chart .gantt-marker-line { border-left: 2px dotted #fab005; z-index: 2; height: 100%; position: absolute; width: 1px; overflow: visible; }
cnc-gantt-chart .gantt-marker-line label { background-color: var(--color-yellow-500); color: var(--color-white); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); padding-inline: calc(var(--box-spacing) * 1.5); padding-block: calc(var(--box-spacing) * 0.5); white-space: nowrap; }
cnc-gantt-chart .gantt-body { display: flex; flex-direction: row; flex-grow: 1; overflow: hidden; }
cnc-gantt-chart .gantt-table-body { display: flex; flex-direction: row; overflow-y: hidden; flex-shrink: 0; }
cnc-gantt-chart .gantt-table-col { position: relative; overflow: hidden; }
cnc-gantt-chart .gantt-table-row { position: absolute; left: 0px; width: 100%; display: flex; align-items: center; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-neutral-300); overflow: hidden; }
.dark cnc-gantt-chart .gantt-table-row { border-color: var(--color-neutral-600); }
cnc-gantt-chart .gantt-parent-row { color: var(--color-neutral-500); }
.dark cnc-gantt-chart .gantt-parent-row { color: var(--color-neutral-100); }
cnc-gantt-chart .gantt-selected-row { background-color: var(--color-primary-100); }
.dark cnc-gantt-chart .gantt-selected-row { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
cnc-gantt-chart .gantt-table-cell { display: flex; align-items: center; gap: calc(var(--spacing) * 1); padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 0.5); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; width: 100%; }
cnc-gantt-chart .gantt-expand-icon { cursor: pointer; color: var(--color-neutral-400); margin-right: calc(var(--box-spacing) * 1); user-select: none; }
cnc-gantt-chart .gantt-completed { text-decoration-line: line-through; color: var(--color-neutral-400); }
cnc-gantt-chart .gantt-chart-body { flex: 1; overflow: auto; }
cnc-gantt-chart .gantt-chart-content { position: relative; }
cnc-gantt-chart .gantt-col-line { border-left: 1px solid #f0f0f0; position: absolute; height: 100%; }
cnc-gantt-chart .gantt-col-line-major { border-left-color: #a0a0a0; z-index: 1; }
cnc-gantt-chart .gantt-row-line { position: absolute; left: 0px; width: 100%; border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-neutral-300); }
.dark cnc-gantt-chart .gantt-row-line { border-color: var(--color-neutral-600); }
cnc-gantt-chart .gantt-weekend { background: rgba( 161 , 161 , 170 , 0.15 ); position: absolute; z-index: 1; }
cnc-gantt-chart .gantt-today { background: rgba( 59 , 130 , 246 , 0.25 ); position: absolute; z-index: 1; opacity: 50%; }
cnc-gantt-chart .gantt-task-parent { position: absolute; z-index: 5; display: flex; }
cnc-gantt-chart .gantt-task-parent-inner { clip-path: polygon( -20px 0 , calc( 100% + 20px ) 0 , calc( 100% + 20px ) 100% , 100% 100% , calc( 100% - 8px ) calc( 100% - 8px ) , 8px calc( 100% - 8px ) , 0 100% , -20px 100% ); width: 100%; height: 100%; background-color: var(--color-primary-500); color: var(--color-white); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); cursor: pointer; }
cnc-gantt-chart .gantt-task-parent-inner:hover { background-color: var(--color-primary-600); }
cnc-gantt-chart .gantt-parent-done .gantt-task-parent-inner, cnc-gantt-chart .gantt-task-completed-parent .gantt-task-parent-inner { background-color: var(--color-primary-300); }
cnc-gantt-chart .gantt-parent-done .gantt-task-parent-inner:hover, cnc-gantt-chart .gantt-task-completed-parent .gantt-task-parent-inner:hover { background-color: var(--color-primary-400); }
cnc-gantt-chart .gantt-task-child { transition: background-color 0.2s; position: absolute; z-index: 5; background-color: var(--color-success-300); cursor: pointer; border-radius: var(--radius-sm); }
cnc-gantt-chart .gantt-task-child:hover { background-color: var(--color-success-400); }
cnc-gantt-chart .gantt-task-child-done { background-color: var(--color-success-100); }
cnc-gantt-chart .gantt-task-child-done:hover { background-color: var(--color-success-200); }
cnc-gantt-chart .gantt-task-child-selected { background-color: var(--color-success-500); }
cnc-gantt-chart .gantt-task-child-selected:hover { background-color: var(--color-success-600); }
cnc-gantt-chart .gantt-task-child-done.gantt-task-child-selected { background-color: var(--color-success-200); }
cnc-gantt-chart .gantt-task-child-done.gantt-task-child-selected:hover { background-color: var(--color-success-300); }
cnc-gantt-chart .gantt-task-milestone { background-color: transparent; display: flex; align-items: center; justify-content: center; color: var(--color-gray-600); }
cnc-gantt-chart .gantt-task-milestone:hover { background-color: transparent; }
cnc-gantt-chart .gantt-task-milestone svg { fill: currentColor; stroke: currentColor; }
cnc-gantt-chart .gantt-marker-body { border-left: 2px dotted #fab005; z-index: 2; position: absolute; height: 100%; }
cnc-gantt-chart .gantt-dep-svg { pointer-events: none; }
}
@layer app-widgets {
cnc-gantt-chart-print { display: inline-block; }
}
@layer app-widgets {
cnc-gantt-chart-toggle-marker { display: inline-block; }
}
@layer app-widgets {
cnc-gantt-chart-toolbar { display: flex; align-items: center; gap: calc(var(--spacing) * 1); }
}
@layer app-widgets {
cnc-gantt-chart-zoom { display: inline-block; }
}
@layer app-widgets {
cnc-grid-stack { display: block; }
}
@layer app-widgets {
cnc-guard { display: inline-block; }
cnc-guard .guard { display: flex; align-items: center; gap: calc(var(--spacing) * 1); }
cnc-guard .icon { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; }
cnc-guard .guard.pass { color: var(--color-success-400); }
cnc-guard .guard.fail { color: var(--color-danger-400); }
cnc-guard .description { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
}
@layer app-widgets {
cnc-icon[kind][shape="rounded"], cnc-icon[kind]:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded ); --indicator-border-radius: var( --indicator-border-radius-rounded ); }
cnc-icon[kind][shape="pill"] { --shape-border-radius: var( --shape-border-radius-pill , var( --radius-full , 9999px ) ); --indicator-border-radius: var( --shape-border-radius ); }
cnc-icon[kind][shape="circle"] { --shape-border-radius: 50%; --indicator-border-radius: 50%; }
cnc-icon[kind][shape="square"], cnc-icon[kind][shape="rectangle"] { --shape-border-radius: 0; --indicator-border-radius: 0; }
cnc-icon[size="xxs"]:not([kind]) { --container-size: 0.625rem; --container-padding-inline: 0; }
cnc-icon[size="xs"]:not([kind]) { --container-size: 0.75rem; --container-padding-inline: 0; }
cnc-icon[size="sm"]:not([kind]) { --container-size: 0.875rem; --container-padding-inline: 0; }
cnc-icon[size="md"]:not([kind]), cnc-icon:not([size]):not([kind]) { --container-size: 1rem; --container-padding-inline: 0; }
cnc-icon[size="lg"]:not([kind]) { --container-size: 1.25rem; --container-padding-inline: 0; }
cnc-icon[size="xl"]:not([kind]) { --container-size: 1.5rem; --container-padding-inline: 0; }
cnc-icon[size="2xl"]:not([kind]) { --container-size: 2rem; --container-padding-inline: 0; }
cnc-icon[size="3xl"]:not([kind]) { --container-size: 2.5rem; --container-padding-inline: 0; }
cnc-icon[kind][size="xxs"] { --container-size: 1.25rem; --container-padding-inline: 0.35rem; --shape-border-radius-rounded: 0.25rem; --indicator-inset: 0.1875rem; --indicator-border-radius-rounded: 0.1875rem; }
cnc-icon[kind][size="xs"] { --container-size: 1.5rem; --container-padding-inline: 0.4rem; --shape-border-radius-rounded: 0.375rem; --indicator-inset: 0.25rem; --indicator-border-radius-rounded: 0.25rem; }
cnc-icon[kind][size="sm"] { --container-size: 2rem; --container-padding-inline: 0.5rem; --shape-border-radius-rounded: 0.5rem; --indicator-inset: 0.3125rem; --indicator-border-radius-rounded: 0.3125rem; }
cnc-icon[kind][size="md"], cnc-icon:not([size]) { --container-size: 2.5rem; --container-padding-inline: 0.6rem; --shape-border-radius-rounded: 0.625rem; --indicator-inset: 0.375rem; --indicator-border-radius-rounded: 0.375rem; }
cnc-icon[kind][size="lg"] { --container-size: 3rem; --container-padding-inline: 0.8rem; --shape-border-radius-rounded: 0.75rem; --indicator-inset: 0.5rem; --indicator-border-radius-rounded: 0.4375rem; }
cnc-icon[kind][size="xl"] { --container-size: 3.5rem; --container-padding-inline: 0.9rem; --shape-border-radius-rounded: 0.8125rem; --indicator-inset: 0.5625rem; --indicator-border-radius-rounded: 0.5rem; }
cnc-icon[kind][size="2xl"] { --container-size: 4rem; --container-padding-inline: 1rem; --shape-border-radius-rounded: 0.8125rem; --indicator-inset: 0.625rem; --indicator-border-radius-rounded: 0.5625rem; }
cnc-icon[kind][size="3xl"] { --container-size: 4.5rem; --container-padding-inline: 1.1rem; --shape-border-radius-rounded: 0.85rem; --indicator-inset: 0.7rem; --indicator-border-radius-rounded: 0.625rem; }
cnc-icon { line-height: 0; --container-size: 2.5rem; --container-padding-inline: 0.625rem; --container-transition-duration: 0.35s; --container-transition-timing: linear; --picture-size: auto; --shape-border-radius-rounded: 0.625rem; --shape-border-radius-pill: 0.75rem; --shape-border-radius: var( --shape-border-radius-rounded ); --container-border-radius: var( --shape-border-radius , 0 ); --indicator-inset: 0.375rem; }
cnc-icon:not([kind]) { --container-bg: transparent; --container-border-color: transparent; --container-border-width: 0; --container-outline-color: transparent; --container-shadow: none; --shape-border-radius-rounded: 0; --icon-color: inherit; }
.dark cnc-icon:not([kind]) { --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon[kind="soft"] { --container-bg: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 10% , transparent ); --container-border-color: transparent; --container-border-width: 0; --container-outline-color: var( --color-800 , var( --color-neutral-800 ) ); --container-shadow: none; --icon-color: var( --color-700 , var( --color-neutral-700 ) ); --indicator-bg: var( --icon-color ); }
.dark cnc-icon[kind="soft"] { --container-bg: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 20% , transparent ); --container-border-color: var( --color-600 , var( --color-neutral-600 ) ); --container-outline-color: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon[kind="solid"] { --container-bg: transparent; --container-border-width: 0; --container-border-color: var( --color-300 , var( --color-neutral-300 ) ); --container-shadow: inset 0 1px 0 color-mix( in srgb , var( --container-border-color ) 30% , transparent ); --indicator-bg: var( --color-500 , var( --color-neutral-500 ) ); --icon-color: white; }
.dark cnc-icon[kind="solid"] { --container-bg: transparent; --container-border-color: var( --color-900 , var( --color-neutral-800 ) ); --container-border-width: 0; --indicator-bg: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon[kind="solid"] .cnc-icon_container::before { content: ""; z-index: -1; inset: 0; border-radius: inherit; border-color: transparent; background: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 10% , transparent ); mask-image: linear-gradient( to bottom , black 0% , transparent 100% ); -webkit-mask-image: linear-gradient( to bottom , black 0% , transparent 100% ); position: absolute; }
cnc-icon[kind="solid"] .cnc-icon_container::after { content: ""; z-index: -1; background: var( --indicator-bg ); inset: var( --indicator-inset ); border-radius: var( --indicator-border-radius ); border-color: var( --color-500 , var( --color-neutral-500 ) ); border-width: 1px; position: absolute; }
cnc-icon[kind="filled"] { --container-bg: var( --color-600 , white ); --container-border-color: var( --color-700 , var( --color-gray-300 ) ); --container-border-width: 0; --container-shadow: 0 -2px 0 #00000015 inset , inset 0 0 0 1px var( --container-border-color ); --icon-color: var( --color-50 , var( --color-neutral-800 ) ); }
.dark cnc-icon[kind="filled"] { --container-bg: var( --color-700 , var( --color-neutral-700 ) ); --container-border-color: var( --color-800 , var( --color-neutral-800 ) ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon[kind="outline"] { --container-bg: white; --container-border-color: var( --color-gray-300 ); --container-border-width: 0; --container-shadow: 0 0 0 1px #0000002e inset , 0 -2px 0 #0000000d inset; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon[kind="outline"] { --container-bg: color-mix( in srgb , var( --color-800 , var( --color-neutral-800 ) ) 5% , transparent ); --container-border-color: var( --color-900 , var( --color-neutral-800 ) ); --container-border-width: 0; --container-shadow: 0 0 0 1px var( --container-border-color ) inset , 0 -2px 0 #0000000d inset; --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon[kind="elevated"] { --container-bg: white; --container-border-color: var( --color-gray-300 ); --container-border-width: 0; --container-shadow: 0 0 0 1px #0000002e inset , 0 -2px 0 #0000000d inset; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon[kind="elevated"] { --container-bg: color-mix( in srgb , var( --color-800 , var( --color-neutral-700 ) ) 8% , transparent ); --container-border-color: var( --color-900 , var( --color-neutral-700 ) ); --container-border-width: 0; --container-shadow: 0 0 0 1px var( --container-border-color ) inset , 0 -2px 0 #0000000d inset , 0px 1px 2px 0px var( --tw-shadow-color , #0000001a ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon[kind="elevated"] .cnc-icon_container::after { content: ""; background: var( --indicator-bg ); inset: calc( var( --indicator-inset ) ); border-radius: var( --indicator-border-radius ); border-color: color-mix( in srgb , var( --container-border-color ) 20% , transparent ); box-shadow: 0px 0px 0px 1px color-mix( in srgb , var( --container-border-color ) 80% , transparent ) inset , 0px -2px 3px 0px color-mix( in srgb , var( --container-border-color ) 50% , #00000021 ) inset , 1px 2px 3px 0px color-mix( in srgb , var( --container-border-color ) 40% , #00000021 ); border-width: 0px; border-style: solid; position: absolute; }
cnc-icon[kind="ring"] { --container-bg: transparent; --container-border-color: var( --color-gray-300 ); --container-border-width: 0; --container-shadow: 0px 0px 0px calc( var( --container-size ) / 30 ) color-mix( in srgb , var( --icon-color ) 10% , transparent ) inset; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon[kind="ring"] { --container-bg: transparent; --container-border-color: var( --color-900 , var( --color-neutral-700 ) ); --container-border-width: 0; --icon-color: var( --color-600 , var( --color-neutral-500 ) ); }
cnc-icon[kind="ring"] .cnc-icon_container::after { content: ""; background: var( --indicator-bg ); inset: calc( var( --indicator-inset ) / 1.1 ); border-radius: var( --indicator-border-radius ); border-color: transparent; box-shadow: 0px 0px 0px calc( var( --container-size ) / 30 ) color-mix( in srgb , var( --icon-color ) 25% , transparent ) inset; border-width: 0; border-style: solid; position: absolute; }
cnc-icon[kind="stack"] { --container-bg: transparent; --container-border-color: var( --color-gray-300 ); --container-border-radius: 0; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon[kind="stack"] { --container-bg: transparent; --container-border-color: transparent; --container-border-width: 0; --container-shadow: none; --icon-color: var( --color-400 , var( --color-neutral-500 ) ); }
cnc-icon[kind="stack"] .cnc-icon_container::after { content: ""; width: 100%; height: 100%; background-color: currentColor; position: absolute; overflow: visible; color: var( --icon-color ); --stack-mask: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20aria-hidden='true'%20viewBox='0%200%2090%2098'%20fill='none'%20style='overflow:visible'%3E%3Cdefs%3E%3Cfilter%20id='blur'%20x='-30%25'%20y='-100%25'%20width='160%25'%20height='300%25'%3E%3CfeGaussianBlur%20stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cellipse%20cx='36'%20cy='76'%20rx='30'%20ry='7'%20fill='%23000'%20fill-opacity='.085'%20filter='url(%23blur)'/%3E%3Cg%20opacity='.4'%3E%3Cpath%20d='M42.2538%202.046C41.4408%201.6325%2040.3965%201.6677%2039.2612%202.2424L7.9616%2018.1934C5.3895%2019.5039%203.301%2023.1064%203.301%2026.2322V64.3226C3.301%2066.0677%203.9458%2067.2943%204.962%2067.8199L1.8363%2066.229C0.8201%2065.7104%200.1753%2064.4771%200.1753%2062.732V24.6412C0.1753%2021.5085%202.2638%2017.913%204.8359%2016.6024L36.1355%200.6515C37.2778%200.0698%2038.322%200.0416%2039.128%200.4551L42.2538%202.046Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M42.2545%202.0456C43.2707%202.5643%2043.9155%203.7979%2043.9155%205.543V43.6337C43.9155%2046.7665%2041.827%2050.3616%2039.2549%2051.6722L7.9554%2067.6235C6.813%2068.2052%205.7687%2068.2331%204.9628%2067.8196C3.9465%2067.301%203.3018%2066.0673%203.3018%2064.3222V26.2318C3.3018%2023.0991%205.3903%2019.5036%207.9624%2018.193L39.2619%202.2421C40.4043%201.6604%2041.4486%201.6321%2042.2545%202.0456Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/g%3E%3Cg%20opacity='.6'%20transform='translate(13.65%206.04)'%3E%3Cpath%20d='M42.2538%202.046C41.4408%201.6325%2040.3965%201.6677%2039.2612%202.2424L7.9616%2018.1934C5.3895%2019.5039%203.301%2023.1064%203.301%2026.2322V64.3226C3.301%2066.0677%203.9458%2067.2943%204.962%2067.8199L1.8363%2066.229C0.8201%2065.7104%200.1753%2064.4771%200.1753%2062.732V24.6412C0.1753%2021.5085%202.2638%2017.913%204.8359%2016.6024L36.1355%200.6515C37.2778%200.0698%2038.322%200.0416%2039.128%200.4551L42.2538%202.046Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M42.2545%202.0456C43.2707%202.5643%2043.9155%203.7979%2043.9155%205.543V43.6337C43.9155%2046.7665%2041.827%2050.3616%2039.2549%2051.6722L7.9554%2067.6235C6.813%2068.2052%205.7687%2068.2331%204.9628%2067.8196C3.9465%2067.301%203.3018%2066.0673%203.3018%2064.3222V26.2318C3.3018%2023.0991%205.3903%2019.5036%207.9624%2018.193L39.2619%202.2421C40.4043%201.6604%2041.4486%201.6321%2042.2545%202.0456Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/g%3E%3Cg%20opacity='.8'%20transform='translate(27.32%2012.08)'%3E%3Cpath%20d='M42.2538%202.046C41.4408%201.6325%2040.3965%201.6677%2039.2612%202.2424L7.9616%2018.1934C5.3895%2019.5039%203.301%2023.1064%203.301%2026.2322V64.3226C3.301%2066.0677%203.9458%2067.2943%204.962%2067.8199L1.8363%2066.229C0.8201%2065.7104%200.1753%2064.4771%200.1753%2062.732V24.6412C0.1753%2021.5085%202.2638%2017.913%204.8359%2016.6024L36.1355%200.6515C37.2778%200.0698%2038.322%200.0416%2039.128%200.4551L42.2538%202.046Z'%20stroke='%23000'%20stroke-opacity='.3'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M42.2545%202.0456C43.2707%202.5643%2043.9155%203.7979%2043.9155%205.543V43.6337C43.9155%2046.7665%2041.827%2050.3616%2039.2549%2051.6722L7.9554%2067.6235C6.813%2068.2052%205.7687%2068.2331%204.9628%2067.8196C3.9465%2067.301%203.3018%2066.0673%203.3018%2064.3222V26.2318C3.3018%2023.0991%205.3903%2019.5036%207.9624%2018.193L39.2619%202.2421C40.4043%201.6604%2041.4486%201.6321%2042.2545%202.0456Z'%20stroke='%23000'%20stroke-opacity='.3'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E" ); -webkit-mask: var( --stack-mask ) center / contain no-repeat; mask: var( --stack-mask ) center / contain no-repeat; }
cnc-icon[kind="stack"] .cnc-icon_container svg { position: relative; --tw-skew-y: skewY( calc( 26deg * -1 ) ); --tw-translate-x: calc( calc( 1 / 2 * 100% ) * -1 ); --tw-translate-y: calc( calc( 1 / 2 * 100% ) * -1 ); left: 63%; top: 23%; z-index: 1; transform: translate( var( --tw-translate-x , 0 ) , var( --tw-translate-y , 0 ) ) rotate( var( --tw-rotate , 0 ) ) skewX( 0deg ) skewY( -27deg ) scaleX( var( --tw-scale-x , 0.6 ) ) scaleY( var( --tw-scale-y , 0.7 ) ); }
cnc-icon .cnc-icon_container { inline-size: var( --container-size ); block-size: var( --container-size ); padding-inline: var( --container-padding-inline ); padding-block: 0; border-radius: var( --container-border-radius ); background: var( --container-bg , transparent ); border-style: solid; border-width: 0; outline-color: var( --container-outline-color ); outline-width: 1px; line-height: 0; appearance: none; -webkit-appearance: none; color-scheme: light; cursor: inherit; font: inherit; box-shadow: var( --container-shadow ); pointer-events: none; }
cnc-icon:not([kind]) { inline-size: var( --container-size ); block-size: var( --container-size ); }
cnc-icon:not([kind]) .cnc-icon_container { inline-size: 100%; block-size: 100%; }
cnc-icon[animation] .cnc-icon_container { transition: background var( --container-transition-duration ) var( --container-transition-timing ) , border-color var( --container-transition-duration ) var( --container-transition-timing ) , color var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-icon .cnc-icon_container svg { max-width: 100%; max-height: 100%; width: auto; height: auto; fill: currentColor; overflow: visible; inline-size: var( --picture-size ); block-size: var( --picture-size ); color: var( --icon-color ); flex-shrink: 0; display: block; }
cnc-icon .cnc-icon_container .cnc-glyph { color: var( --icon-color ); }
cnc-icon.filled .cnc-icon_container svg * { fill: var( --icon-fill , currentColor ); }
@media (prefers-reduced-motion: reduce) {
cnc-icon[animation] :is(svg, .cnc-glyph) { --container-animation-duration: 1ms !important; --container-animation-iteration: 1 !important; --container-animation-timing: 1ms !important; }
cnc-icon[animation] :is(path, line, polyline, polygon, circle, rect) { animation: none; stroke-dashoffset: 0; }
}
cnc-icon.pulse :is(svg, .cnc-glyph), cnc-icon.hover\:pulse:hover :is(svg, .cnc-glyph), .group:hover cnc-icon.group-hover\:pulse :is(svg, .cnc-glyph), cnc-icon[animation="pulse"] .cnc-icon_container { animation: animate-pulse var( --container-animation-duration , 2s ) var( --container-animation-timing , cubic-bezier( 0.4 , 0 , 0.6 , 1 ) ) var( --container-animation-iteration , infinite ); }
cnc-icon.spin :is(svg, .cnc-glyph), cnc-icon.hover\:spin:hover :is(svg, .cnc-glyph), .group:hover cnc-icon.group-hover\:spin :is(svg, .cnc-glyph), cnc-icon[animation="spin"] :is(svg, .cnc-glyph) { animation: animate-spin var( --container-animation-duration , 2s ) var( --container-animation-timing , linear ) var( --container-animation-iteration , infinite ); }
cnc-icon.bounce :is(svg, .cnc-glyph), cnc-icon.hover\:bounce:hover :is(svg, .cnc-glyph), .group:hover cnc-icon.group-hover\:bounce :is(svg, .cnc-glyph), cnc-icon[animation="bounce"] :is(svg, .cnc-glyph) { animation: animate-bounce var( --container-animation-duration , 2s ) var( --container-animation-timing , cubic-bezier( 0.4 , 0 , 0.6 , 1 ) ) var( --container-animation-iteration , infinite ); }
cnc-icon.shake :is(svg, .cnc-glyph), cnc-icon.hover\:shake:hover :is(svg, .cnc-glyph), .group:hover cnc-icon.group-hover\:shake :is(svg, .cnc-glyph), cnc-icon[animation="shake"] :is(svg, .cnc-glyph) { animation: animate-shake var( --container-animation-duration , 600ms ) var( --container-animation-timing , ease-in-out ) var( --container-animation-iteration , infinite ); }
cnc-icon.pop :is(svg, .cnc-glyph), cnc-icon.hover\:pop:hover :is(svg, .cnc-glyph), .group:hover cnc-icon.group-hover\:pop :is(svg, .cnc-glyph), cnc-icon[animation="pop"] :is(svg, .cnc-glyph) { animation: animate-pop var( --container-animation-duration , 600ms ) var( --container-animation-timing , ease-in-out ) var( --container-animation-iteration , infinite ); }
cnc-icon.draw svg, cnc-icon.hover\:draw:hover svg, .group:hover cnc-icon.group-hover\:draw svg, cnc-icon[animation="draw"] :is(path, line, polyline, polygon, circle, rect) { stroke-dasharray: 1; stroke-dashoffset: 1; animation: animate-draw var( --container-animation-duration , 2s ) var( --container-animation-timing , ease-out ) 5s var( --container-animation-iteration , forwards ); }
cnc-icon[animation="draw"] path:nth-of-type(1) { animation-delay: 0ms; }
cnc-icon[animation="draw"] path:nth-of-type(2) { animation-delay: 200ms; }
cnc-icon[animation="draw"] path:nth-of-type(3) { animation-delay: 400ms; }
cnc-icon[animation="draw-loop"] path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: animate-draw-loop 2s ease-in-out infinite; }
}
@layer app-widgets {
cnc-icon-tile[shape="rounded"], cnc-icon-tile:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded ); --indicator-border-radius: var( --indicator-border-radius-rounded ); }
cnc-icon-tile[shape="pill"] { --shape-border-radius: var( --shape-border-radius-pill , var( --radius-full , 9999px ) ); --indicator-border-radius: var( --shape-border-radius ); }
cnc-icon-tile[shape="circle"] { --shape-border-radius: 50%; --indicator-border-radius: 50%; }
cnc-icon-tile[shape="square"], cnc-icon-tile[shape="rectangle"] { --shape-border-radius: 0; --indicator-border-radius: 0; }
cnc-icon-tile[size="xxs"] { --container-size: 1.25rem; --container-padding-inline: 0.35rem; --shape-border-radius-rounded: 0.25rem; --indicator-inset: 0.1875rem; --indicator-border-radius-rounded: 0.1875rem; }
cnc-icon-tile[size="xs"] { --container-size: 1.5rem; --container-padding-inline: 0.4rem; --shape-border-radius-rounded: 0.375rem; --indicator-inset: 0.25rem; --indicator-border-radius-rounded: 0.25rem; }
cnc-icon-tile[size="sm"] { --container-size: 2rem; --container-padding-inline: 0.5rem; --shape-border-radius-rounded: 0.5rem; --indicator-inset: 0.3125rem; --indicator-border-radius-rounded: 0.3125rem; }
cnc-icon-tile[size="md"], cnc-icon-tile:not([size]) { --container-size: 2.5rem; --container-padding-inline: 0.6rem; --shape-border-radius-rounded: 0.625rem; --indicator-inset: 0.375rem; --indicator-border-radius-rounded: 0.375rem; }
cnc-icon-tile[size="lg"] { --container-size: 3rem; --container-padding-inline: 0.8rem; --shape-border-radius-rounded: 0.75rem; --indicator-inset: 0.5rem; --indicator-border-radius-rounded: 0.4375rem; }
cnc-icon-tile[size="xl"] { --container-size: 3.5rem; --container-padding-inline: 0.9rem; --shape-border-radius-rounded: 0.8125rem; --indicator-inset: 0.5625rem; --indicator-border-radius-rounded: 0.5rem; }
cnc-icon-tile[size="2xl"] { --container-size: 4rem; --container-padding-inline: 1rem; --shape-border-radius-rounded: 0.8125rem; --indicator-inset: 0.625rem; --indicator-border-radius-rounded: 0.5625rem; }
cnc-icon-tile { --container-size: 2.5rem; --container-padding-inline: 0.625rem; --container-transition-duration: 0.35s; --container-transition-timing: linear; --icon-size: 100%; --shape-border-radius-rounded: 0.625rem; --shape-border-radius-pill: 0.75rem; --shape-border-radius: var( --shape-border-radius-rounded ); --container-border-radius: var( --shape-border-radius , 0 ); --indicator-inset: 0.375rem; --container-animation-duration: 2s; --container-animation-timing: cubic-bezier( 0.4 , 0 , 0.6 , 1 ); }
cnc-icon-tile:not([kind]) { --container-bg: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 10% , transparent ); --container-border-color: transparent; --container-border-width: 0; --container-outline-color: var( --color-800 , var( --color-neutral-800 ) ); --container-shadow: none; --icon-color: var( --color-700 , var( --color-neutral-700 ) ); --indicator-bg: var( --icon-color ); }
.dark cnc-icon-tile { --container-bg: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 20% , transparent ); --container-border-color: var( --color-600 , var( --color-neutral-600 ) ); --container-outline-color: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon-tile[kind="solid"] { --container-bg: transparent; --container-border-width: 0; --container-border-color: var( --color-300 , var( --color-neutral-300 ) ); --container-shadow: inset 0 1px 0 color-mix( in srgb , var( --container-border-color ) 30% , transparent ); --indicator-bg: var( --color-500 , var( --color-neutral-500 ) ); --icon-color: white; }
.dark cnc-icon-tile[kind="solid"] { --container-bg: transparent; --container-border-color: var( --color-900 , var( --color-neutral-800 ) ); --container-border-width: 0; --indicator-bg: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon-tile[kind="solid"] .cnc-icon-frame_container::before { content: ""; z-index: -1; inset: 0; border-radius: inherit; border-color: transparent; background: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 10% , transparent ); mask-image: linear-gradient( to bottom , black 0% , transparent 100% ); -webkit-mask-image: linear-gradient( to bottom , black 0% , transparent 100% ); position: absolute; }
cnc-icon-tile[kind="solid"] .cnc-icon-frame_container::after { content: ""; z-index: -1; background: var( --indicator-bg ); inset: var( --indicator-inset ); border-radius: var( --indicator-border-radius ); border-color: var( --color-500 , var( --color-neutral-500 ) ); border-width: 1px; position: absolute; }
cnc-icon-tile[kind="filled"] { --container-bg: var( --color-600 , white ); --container-border-color: var( --color-700 , var( --color-gray-300 ) ); --container-border-width: 0; --container-shadow: 0 -2px 0 #00000015 inset , inset 0 0 0 1px var( --container-border-color ); --icon-color: var( --color-50 , var( --color-neutral-800 ) ); }
.dark cnc-icon-tile[kind="filled"] { --container-bg: var( --color-700 , var( --color-neutral-700 ) ); --container-border-color: var( --color-800 , var( --color-neutral-800 ) ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon-tile[kind="outline"] { --container-bg: white; --container-border-color: var( --color-gray-300 ); --container-border-width: 0; --container-shadow: 0 0 0 1px #0000002e inset , 0 -2px 0 #0000000d inset; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon-tile[kind="outline"] { --container-bg: color-mix( in srgb , var( --color-800 , var( --color-neutral-800 ) ) 5% , transparent ); --container-border-color: var( --color-900 , var( --color-neutral-800 ) ); --container-border-width: 0; --container-shadow: 0 0 0 1px var( --container-border-color ) inset , 0 -2px 0 #0000000d inset; --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon-tile[kind="elevated"] { --container-bg: white; --container-border-color: var( --color-gray-300 ); --container-border-width: 0; --container-shadow: 0 0 0 1px #0000002e inset , 0 -2px 0 #0000000d inset; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon-tile[kind="elevated"] { --container-bg: color-mix( in srgb , var( --color-800 , var( --color-neutral-700 ) ) 8% , transparent ); --container-border-color: var( --color-900 , var( --color-neutral-700 ) ); --container-border-width: 0; --container-shadow: 0 0 0 1px var( --container-border-color ) inset , 0 -2px 0 #0000000d inset , 0px 1px 2px 0px var( --tw-shadow-color , #0000001a ); --icon-color: var( --color-50 , var( --color-neutral-50 ) ); }
cnc-icon-tile[kind="elevated"] .cnc-icon-frame_container::after { content: ""; background: var( --indicator-bg ); inset: calc( var( --indicator-inset ) ); border-radius: var( --indicator-border-radius ); border-color: color-mix( in srgb , var( --container-border-color ) 20% , transparent ); box-shadow: 0px 0px 0px 1px color-mix( in srgb , var( --container-border-color ) 80% , transparent ) inset , 0px -2px 3px 0px color-mix( in srgb , var( --container-border-color ) 50% , #00000021 ) inset , 1px 2px 3px 0px color-mix( in srgb , var( --container-border-color ) 40% , #00000021 ); border-width: 0px; border-style: solid; position: absolute; }
cnc-icon-tile[kind="ring"] { --container-bg: transparent; --container-border-color: var( --color-gray-300 ); --container-border-width: 0; --container-shadow: 0px 0px 0px calc( var( --container-size ) / 30 ) color-mix( in srgb , var( --icon-color ) 10% , transparent ) inset; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon-tile[kind="ring"] { --container-bg: transparent; --container-border-color: var( --color-900 , var( --color-neutral-700 ) ); --container-border-width: 0; --icon-color: var( --color-600 , var( --color-neutral-500 ) ); }
cnc-icon-tile[kind="ring"] .cnc-icon-frame_container::after { content: ""; background: var( --indicator-bg ); inset: calc( var( --indicator-inset ) / 1.1 ); border-radius: var( --indicator-border-radius ); border-color: transparent; box-shadow: 0px 0px 0px calc( var( --container-size ) / 30 ) color-mix( in srgb , var( --icon-color ) 25% , transparent ) inset; border-width: 0; border-style: solid; position: absolute; }
cnc-icon-tile[kind="stack"] { --container-bg: transparent; --container-border-color: var( --color-gray-300 ); --container-border-radius: 0; --icon-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-icon-tile[kind="stack"] { --container-bg: transparent; --container-border-color: transparent; --container-border-width: 0; --container-shadow: none; --icon-color: var( --color-400 , var( --color-neutral-500 ) ); }
cnc-icon-tile[kind="stack"] .cnc-icon-frame_container::after { content: ""; width: 100%; height: 100%; background-color: currentColor; position: absolute; overflow: visible; color: var( --icon-color ); --stack-mask: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20aria-hidden='true'%20viewBox='0%200%2090%2098'%20fill='none'%20style='overflow:visible'%3E%3Cdefs%3E%3Cfilter%20id='blur'%20x='-30%25'%20y='-100%25'%20width='160%25'%20height='300%25'%3E%3CfeGaussianBlur%20stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cellipse%20cx='36'%20cy='76'%20rx='30'%20ry='7'%20fill='%23000'%20fill-opacity='.085'%20filter='url(%23blur)'/%3E%3Cg%20opacity='.4'%3E%3Cpath%20d='M42.2538%202.046C41.4408%201.6325%2040.3965%201.6677%2039.2612%202.2424L7.9616%2018.1934C5.3895%2019.5039%203.301%2023.1064%203.301%2026.2322V64.3226C3.301%2066.0677%203.9458%2067.2943%204.962%2067.8199L1.8363%2066.229C0.8201%2065.7104%200.1753%2064.4771%200.1753%2062.732V24.6412C0.1753%2021.5085%202.2638%2017.913%204.8359%2016.6024L36.1355%200.6515C37.2778%200.0698%2038.322%200.0416%2039.128%200.4551L42.2538%202.046Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M42.2545%202.0456C43.2707%202.5643%2043.9155%203.7979%2043.9155%205.543V43.6337C43.9155%2046.7665%2041.827%2050.3616%2039.2549%2051.6722L7.9554%2067.6235C6.813%2068.2052%205.7687%2068.2331%204.9628%2067.8196C3.9465%2067.301%203.3018%2066.0673%203.3018%2064.3222V26.2318C3.3018%2023.0991%205.3903%2019.5036%207.9624%2018.193L39.2619%202.2421C40.4043%201.6604%2041.4486%201.6321%2042.2545%202.0456Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/g%3E%3Cg%20opacity='.6'%20transform='translate(13.65%206.04)'%3E%3Cpath%20d='M42.2538%202.046C41.4408%201.6325%2040.3965%201.6677%2039.2612%202.2424L7.9616%2018.1934C5.3895%2019.5039%203.301%2023.1064%203.301%2026.2322V64.3226C3.301%2066.0677%203.9458%2067.2943%204.962%2067.8199L1.8363%2066.229C0.8201%2065.7104%200.1753%2064.4771%200.1753%2062.732V24.6412C0.1753%2021.5085%202.2638%2017.913%204.8359%2016.6024L36.1355%200.6515C37.2778%200.0698%2038.322%200.0416%2039.128%200.4551L42.2538%202.046Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M42.2545%202.0456C43.2707%202.5643%2043.9155%203.7979%2043.9155%205.543V43.6337C43.9155%2046.7665%2041.827%2050.3616%2039.2549%2051.6722L7.9554%2067.6235C6.813%2068.2052%205.7687%2068.2331%204.9628%2067.8196C3.9465%2067.301%203.3018%2066.0673%203.3018%2064.3222V26.2318C3.3018%2023.0991%205.3903%2019.5036%207.9624%2018.193L39.2619%202.2421C40.4043%201.6604%2041.4486%201.6321%2042.2545%202.0456Z'%20stroke='%23000'%20stroke-opacity='.2'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/g%3E%3Cg%20opacity='.8'%20transform='translate(27.32%2012.08)'%3E%3Cpath%20d='M42.2538%202.046C41.4408%201.6325%2040.3965%201.6677%2039.2612%202.2424L7.9616%2018.1934C5.3895%2019.5039%203.301%2023.1064%203.301%2026.2322V64.3226C3.301%2066.0677%203.9458%2067.2943%204.962%2067.8199L1.8363%2066.229C0.8201%2065.7104%200.1753%2064.4771%200.1753%2062.732V24.6412C0.1753%2021.5085%202.2638%2017.913%204.8359%2016.6024L36.1355%200.6515C37.2778%200.0698%2038.322%200.0416%2039.128%200.4551L42.2538%202.046Z'%20stroke='%23000'%20stroke-opacity='.3'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M42.2545%202.0456C43.2707%202.5643%2043.9155%203.7979%2043.9155%205.543V43.6337C43.9155%2046.7665%2041.827%2050.3616%2039.2549%2051.6722L7.9554%2067.6235C6.813%2068.2052%205.7687%2068.2331%204.9628%2067.8196C3.9465%2067.301%203.3018%2066.0673%203.3018%2064.3222V26.2318C3.3018%2023.0991%205.3903%2019.5036%207.9624%2018.193L39.2619%202.2421C40.4043%201.6604%2041.4486%201.6321%2042.2545%202.0456Z'%20stroke='%23000'%20stroke-opacity='.3'%20stroke-width='.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E" ); -webkit-mask: var( --stack-mask ) center / contain no-repeat; mask: var( --stack-mask ) center / contain no-repeat; }
cnc-icon-tile[kind="stack"] .cnc-icon-frame_icon { position: relative; --tw-skew-y: skewY( calc( 26deg * -1 ) ); --tw-translate-x: calc( calc( 1 / 2 * 100% ) * -1 ); --tw-translate-y: calc( calc( 1 / 2 * 100% ) * -1 ); left: 63%; top: 48%; z-index: 1; transform: translate( var( --tw-translate-x , 0 ) , var( --tw-translate-y , 0 ) ) rotate( var( --tw-rotate , 0 ) ) skewX( 0deg ) skewY( -27deg ) scaleX( var( --tw-scale-x , 0.6 ) ) scaleY( var( --tw-scale-y , 0.7 ) ); }
cnc-icon-tile .cnc-icon-frame_container { inline-size: var( --container-size ); block-size: var( --container-size ); padding-inline: var( --container-padding-inline ); padding-block: 0; border-radius: var( --container-border-radius ); background: var( --container-bg , transparent ); border-style: solid; border-width: 0; outline-color: var( --container-outline-color ); outline-width: 1px; line-height: 0; appearance: none; -webkit-appearance: none; color-scheme: light; cursor: inherit; font: inherit; box-shadow: var( --container-shadow ); pointer-events: none; transition: background var( --container-transition-duration ) var( --container-transition-timing ) , border-color var( --container-transition-duration ) var( --container-transition-timing ) , color var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-icon-tile .cnc-icon-frame_icon { inline-size: var( --icon-size ); block-size: var( --icon-size ); color: var( --icon-color ); }
cnc-icon-tile .cnc-icon-frame_icon svg { display: block; inline-size: 100%; block-size: 100%; }
cnc-icon-tile[animation="pulse"] .cnc-icon-frame_container { animation: cnc-icon-tile-cnc-icon-frame-pulse var( --container-animation-duration ) var( --container-animation-timing ) infinite; }
@keyframes cnc-icon-tile-cnc-icon-frame-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
}
@layer widgets {
cnc-image { display: grid; position: relative; width: 100%; overflow: hidden; min-height: 0px; }
cnc-image img { object-position: center; grid-area: 1 / 1; margin-top: 0 !important; margin-bottom: 0 !important; display: flex; width: 100%; height: 100%; object-fit: cover; }
cnc-image.zoom img { transition: transform 0.5s ease; }
cnc-image.zoom img:hover { transform: scale( 1.1 ); }
cnc-image.parallax { top: 0px; left: 0px; right: 0px; bottom: 0px; overflow: hidden; }
cnc-image.parallax img { height: 120%; transform: translateY( 0 ); transition: transform 0.1s linear; width: 100%; }
}
@layer app-widgets {
cnc-input[shape="rounded"] { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-input[shape="pill"] { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-input[shape="square"], cnc-input[shape="rectangle"] { --shape-border-radius: 0; }
cnc-input[size="xxs"] { --container-font-size: 0.75rem; --container-line-height: 1rem; --container-padding-y: 0.375rem; --container-padding-x: 0.375rem; --container-gap: 0.25rem; --icon-size: 0.75rem; }
cnc-input[size="xs"] { --container-font-size: 0.875rem; --container-line-height: 1.25rem; --container-padding-y: 0.375rem; --container-padding-x: 0.5rem; --container-gap: 0.25rem; --icon-size: 0.875rem; }
cnc-input[size="sm"] { --container-font-size: 0.875rem; --container-line-height: 1.25rem; --container-padding-y: 0.5rem; --container-padding-x: 0.625rem; --container-gap: 0.375rem; --icon-size: 1rem; }
cnc-input[size="md"], cnc-input:not([size]) { --container-font-size: 1rem; --container-line-height: 1.5rem; --container-padding-y: 0.5rem; --container-padding-x: 0.75rem; --container-gap: 0.5rem; --icon-size: 1rem; }
cnc-input[size="lg"] { --container-font-size: 1rem; --container-line-height: 1.5rem; --container-padding-y: 0.625rem; --container-padding-x: 0.875rem; --container-gap: 0.5rem; --icon-size: 1.25rem; }
cnc-input[size="xl"] { --container-font-size: 1.125rem; --container-line-height: 1.75rem; --container-padding-y: 0.625rem; --container-padding-x: 1rem; --container-gap: 0.625rem; --icon-size: 1.25rem; }
cnc-input[size="2xl"] { --container-font-size: 1.25rem; --container-line-height: 2rem; --container-padding-y: 0.75rem; --container-padding-x: 1.25rem; --container-gap: 0.75rem; --icon-size: 1.5rem; }
cnc-input { --container-bg: var( --color-50 , white ); --container-bg-invalid: var( --color-danger-50 , var( --container-bg ) ); --container-border-color: var( --color-200 , var( --color-neutral-300 ) ); --container-border-color-focus: var( --color-500 , var( --color-primary-500 ) ); --container-border-color-invalid: var( --color-500 , var( --color-danger-500 ) ); --container-shadow: inset 0 0 0 1px var( --container-border-color ); --container-shadow-focus: inset 0 0 0 2px var( --container-border-color-focus ); --container-shadow-invalid: inset 0 0 0 1px color-mix( in srgb , var( --container-border-color-invalid ) 50% , transparent ); --container-shadow-focus-invalid: inset 0 0 0 2px var( --container-border-color-invalid ); --container-border-radius: var( --shape-border-radius , var( --radius-lg , 0.5rem ) ); --container-padding-y: 0.5rem; --container-padding-x: 0.875rem; --container-gap: 0.75rem; --container-font-size: 1rem; --container-font-style-disabled: italic; --container-opacity-disabled: 0.6; --container-transition-duration: 150ms; --container-transition-timing: ease; --input-text-color: var( --color-700 , var( --color-neutral-800 ) ); --input-placeholder-color: var( --color-700 , var( --color-neutral-400 ) ); --input-font-family: inherit; --icon-size: 1rem; --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --icon-opacity: 0.5; --icon-opacity-hover: 1; --clear-size: 1rem; --clear-color: var( --color-600 , var( --color-neutral-600 ) ); --clear-opacity: 0; --clear-opacity-container-hover: 0.5; --clear-opacity-hover: 1; --indicator-size: 1rem; --indicator-color: var( --container-border-color-invalid ); --prefix-color: var( --icon-color ); --suffix-color: var( --icon-color ); --mask-placeholder-color: var( --input-placeholder-color ); --message-margin-top: 0.25rem; --message-font-size: 0.875rem; --message-color: var( --color-danger-500 ); }
.dark cnc-input { --container-bg: var( --color-neutral-900 , #111827 ); --input-text-color: var( --color-neutral-200 , #e5e7eb ); --input-placeholder-color: var( --color-neutral-400 , #9ca3af ); --container-border-color: var( --color-neutral-600 , #4b5563 ); --container-border-color-focus: var( --color-200 , var( --color-primary-500 ) ); --clear-color: var( --color-400 , var( --color-neutral-400 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); --message-color: var( --color-danger-600 ); }
cnc-input .cnc-input_container { gap: var( --container-gap ); padding: var( --container-padding-y ) var( --container-padding-x ); border-radius: var( --container-border-radius ); background: var( --container-bg ); color: var( --input-text-color ); box-shadow: var( --container-shadow ); font-size: var( --container-font-size ); line-height: var( --container-line-height ); transition: box-shadow var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-input .cnc-input_container:not([data-readonly="true"]):not([data-invalid="true"]):focus-within { box-shadow: var( --container-shadow-focus ); }
cnc-input .cnc-input_container[data-invalid="true"] { background: var( --container-bg-invalid ); box-shadow: var( --container-shadow-invalid ); }
cnc-input .cnc-input_container:not([data-readonly="true"])[data-invalid="true"]:focus-within { box-shadow: var( --container-shadow-focus-invalid ); }
cnc-input .cnc-input_container[data-disabled="true"] { cursor: not-allowed; font-style: var( --container-font-style-disabled ); opacity: var( --container-opacity-disabled ); }
cnc-input .no-background { background: transparent; box-shadow: none; padding: 0; gap: 0; }
cnc-input .cnc-input_container[data-readonly="true"], cnc-input .cnc-input_container[data-readonly="true"] .cnc-input_input { cursor: not-allowed; font-style: italic; caret-color: transparent; }
cnc-input .cnc-input_content { min-inline-size: 0; }
cnc-input .cnc-input_input { color: var( --input-text-color ); font-family: var( --input-font-family ); font-size: inherit; text-overflow: ellipsis; }
cnc-input .cnc-input_input::placeholder { color: var( --input-placeholder-color ); opacity: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
cnc-input .cnc-input_mask { color: var( --input-text-color ); }
cnc-input .cnc-input_mask-placeholder { color: var( --mask-placeholder-color ); }
cnc-input .cnc-input_prefix, cnc-input .cnc-input_suffix { color: var( --prefix-color ); opacity: var( --icon-opacity ); }
cnc-input .cnc-input_suffix { color: var( --suffix-color ); }
cnc-input .cnc-input_icon, cnc-input .cnc-input_toggle { inline-size: var( --icon-size ); block-size: var( --icon-size ); color: var( --icon-color ); opacity: var( --icon-opacity ); transition: opacity var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-input .cnc-input_icon:hover, cnc-input .cnc-input_toggle:hover { opacity: var( --icon-opacity-hover ); }
cnc-input .cnc-input_clear { inline-size: var( --clear-size ); block-size: var( --clear-size ); color: var( --clear-color ); opacity: var( --clear-opacity ); transition: opacity var( --container-transition-duration ) var( --container-transition-timing ); }
cnc-input .cnc-input_container:hover .cnc-input_clear { opacity: var( --clear-opacity-container-hover ); }
cnc-input .cnc-input_container .cnc-input_clear:hover { opacity: var( --clear-opacity-hover ); }
cnc-input .cnc-input_indicator { inline-size: var( --indicator-size ); block-size: var( --indicator-size ); color: var( --indicator-color ); }
cnc-input .cnc-input_message { margin-block-start: var( --message-margin-top ); color: var( --message-color ); font-size: var( --message-font-size ); }
cnc-input .cnc-input_input:-webkit-autofill, cnc-input .cnc-input_input:-webkit-autofill:hover, cnc-input .cnc-input_input:-webkit-autofill:focus, cnc-input .cnc-input_input:-webkit-autofill:active { -webkit-text-fill-color: var( --input-text-color ); caret-color: var( --input-text-color ); -webkit-box-shadow: 0 0 0 1000px var( --container-bg ) inset; box-shadow: 0 0 0 1000px var( --container-bg ) inset; }
cnc-input .cnc-input_select { position: absolute; right: 0px; top: calc( -1 * calc( var( --container-padding-y ) * 2 ) ); display: block; box-sizing: border-box; min-width: 50px; text-align: right; padding-block: 0.5rem; padding-top: 0.125rem; padding-left: 0.5rem; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; appearance: none; border: 0; padding-inline-end: 2.25rem; background-image: var( --icon-chevron-svg ); background-repeat: no-repeat; background-size: 1rem 1rem; background-position: right 0.75rem center; background-color: transparent; outline: none; cursor: pointer; transition: opacity 100ms linear; }
cnc-input .cnc-input_select:disabled { cursor: not-allowed; opacity: 0.5; }
cnc-input .cnc-input_select option { display: flex; align-items: center; text-align: left; min-block-size: 2.5rem; padding-block: 0.5rem; padding-inline: 0.75rem; border: 0; border-radius: 0.375rem; background-color: var( --select-option-background , #fff ); color: var( --select-option-color , #344054 ); font: inherit; cursor: pointer; }
cnc-input .cnc-input_select option + option { border-block-start: 0.0625rem solid var( --select-option-divider , #eaecf0 ); }
cnc-input .cnc-input_select option:hover, cnc-input .cnc-input_select option:focus { background-color: var( --select-option-hover-background , #f9fafb ); }
cnc-input .cnc-input_select option:checked { background-color: var( --container-bg , #f4f3ff ); color: var( --container-border-color-focus , var( --color-primary-500 ) ); font-weight: 600; }
cnc-input .cnc-input_select option::checkmark { display: none; }
cnc-input .cnc-input_popup[popover] { color: inherit; overflow: visible; }
}
@layer app-widgets {
cnc-layout { display: flex; overflow: hidden; width: 100%; height: 100%; position: relative; display: block; }
cnc-layout .empty-state { color: #a3a3a3; }
cnc-layout .layout-node { min-width: 0; min-height: 0; }
cnc-layout .tabs-container { min-width: 0; min-height: 0; }
cnc-layout .tab-bar { background: #f5f5f5; border-color: #e5e5e5; scrollbar-width: none; }
cnc-layout .tab-bar-horizontal { display: flex; flex-direction: row; overflow-x: auto; align-items: center; padding-inline: calc(var(--box-spacing) * 1); }
cnc-layout .tab-bar-vertical { display: flex; flex-direction: column; overflow-y: auto; align-items: center; padding-block: calc(var(--box-spacing) * 1); }
cnc-layout .tab-bar-top { border-bottom: 1px solid #e5e5e5; }
.dark cnc-layout .tab-bar-top { border-bottom-color: var(--color-neutral-700); }
cnc-layout .tab-bar-bottom { border-top: 1px solid #e5e5e5; }
.dark cnc-layout .tab-bar-bottom { border-top-color: var(--color-neutral-700); }
cnc-layout .tab-bar-left { border-right: 1px solid #e5e5e5; }
.dark cnc-layout .tab-bar-left { border-right-color: var(--color-neutral-700); }
cnc-layout .tab-bar-right { border-left: 1px solid #e5e5e5; }
.dark cnc-layout .tab-bar-right { border-left-color: var(--color-neutral-700); }
cnc-layout .tab { cursor: pointer; }
cnc-layout .tab-content-h { border-bottom: 2px solid transparent; transition: background 0.15s , border-color 0.15s; }
cnc-layout .tab-content-h:hover { background-color: var(--color-neutral-200); }
.dark cnc-layout .tab-content-h:hover { background-color: var(--color-neutral-700); }
cnc-layout .tab-content-h.active { background: white; border-bottom-color: var( --color-primary-500 ); }
.dark cnc-layout .tab-content-h.active { background-color: var(--color-neutral-900); }
cnc-layout .tab-content-v { transition: background 0.15s; }
cnc-layout .tab-content-v:hover { background-color: var(--color-neutral-200); }
.dark cnc-layout .tab-content-v:hover { background-color: var(--color-neutral-700); }
cnc-layout .tab-content-v.active { background: white; box-shadow: 0 1px 3px rgba( 0 , 0 , 0 , 0.1 ); }
.dark cnc-layout .tab-content-v.active { background-color: var(--color-neutral-800); }
cnc-layout .tab-pin:hover { background-color: var(--color-gray-100); }
.dark cnc-layout .tab-pin:hover { background-color: var(--color-neutral-700); }
cnc-layout .tab-pin.pinned { color: var( --color-primary-500 ); }
cnc-layout .tab-close:hover { background-color: var(--color-gray-100); }
.dark cnc-layout .tab-close:hover { background-color: var(--color-neutral-700); }
cnc-layout .tab-panels { min-height: 0; min-width: 0; }
cnc-layout .panel-empty { color: #a3a3a3; }
cnc-layout .gutter { transition: background 0.15s; }
cnc-layout .gutter:hover, cnc-layout .gutter.active { background: var( --color-primary-400 ); }
cnc-layout .gutter-v { width: 2px; height: 100%; right: 0; top: 0; cursor: col-resize; }
cnc-layout .gutter-h { height: 2px; width: 100%; bottom: 0; left: 0; cursor: row-resize; }
}
@layer app-widgets {
cnc-layout-saver { display: block; }
}
@layer app-widgets {
cnc-link { display: inline; }
cnc-link a { color: inherit !important; text-decoration: inherit !important; }
cnc-link a:hover { color: inherit !important; text-decoration: inherit !important; }
}
@layer app-widgets {
cnc-list { display: block; height: 100%; overflow-y: auto; }
cnc-list .list-card { border-bottom: none; border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-200); }
:where( cnc-list .list-card > :not(:last-child)) { --tw-divide-y-reverse: 0; border-top-style: var(--tw-border-style); border-bottom-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); border-color: var(--color-slate-200); }
.dark:where( cnc-list .list-card > :not(:last-child)) { border-color: var(--color-slate-700); }
.dark cnc-list .list-card { border-color: var(--color-slate-700); }
cnc-list .list-card:last-child { border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); }
.dark cnc-list .list-card:last-child { border-color: var(--color-slate-700); }
cnc-list .list-item { display: flex; align-items: center; padding-inline: calc(var(--box-spacing) * 4); padding-block: calc(var(--box-spacing) * 2); gap: calc(var(--spacing) * 2); background-color: var(--color-slate-100); }
.dark cnc-list .list-item { background-color: var(--color-slate-800); }
cnc-list .list-item:hover { background-color: var(--color-slate-50); }
.dark cnc-list .list-item:hover { background-color: var(--color-slate-700); }
cnc-list .list-item-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-medium); margin-right: calc(var(--box-spacing) * 2); color: var(--color-slate-800); }
.dark cnc-list .list-item-label { color: var(--color-slate-200); }
cnc-list .list-item-value { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-slate-500); }
.dark cnc-list .list-item-value { color: var(--color-slate-400); }
cnc-list .list-link { text-decoration-line: underline; color: var(--color-primary-600); }
.dark cnc-list .list-link { color: var(--color-primary-400); }
cnc-list .list-link:hover { color: var(--color-primary-500); }
.dark cnc-list .list-link:hover { color: var(--color-primary-300); }
cnc-list .list-actions { display: flex; justify-content: space-between; padding-inline: calc(var(--box-spacing) * 4); padding-block: calc(var(--box-spacing) * 1); background-color: var(--color-slate-100); }
.dark cnc-list .list-actions { background-color: var(--color-slate-800); }
cnc-list .list-card + .list-card { border-top: none; }
cnc-list .list-card + .list-card::before { content: ""; height: 1px; display: block; background-color: var(--color-slate-300); }
.dark cnc-list .list-card + .list-card::before { background-color: var(--color-slate-600); }
}
@layer app-widgets {
cnc-litegraph { display: block; }
}
@layer app-widgets {
cnc-markdown .markdown-body { max-width: none; }
cnc-markdown .markdown-body h1 { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); font-weight: var(--font-weight-bold); margin-bottom: calc(var(--box-spacing) * 3); margin-top: calc(var(--box-spacing) * 4); }
cnc-markdown .markdown-body h2 { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); font-weight: var(--font-weight-bold); margin-bottom: calc(var(--box-spacing) * 2); margin-top: calc(var(--box-spacing) * 3); }
cnc-markdown .markdown-body h3 { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); font-weight: var(--font-weight-semibold); margin-bottom: calc(var(--box-spacing) * 2); margin-top: calc(var(--box-spacing) * 3); }
cnc-markdown .markdown-body p { margin-bottom: calc(var(--box-spacing) * 3); }
cnc-markdown .markdown-body ul { list-style-type: disc; padding-left: calc(var(--box-spacing) * 5); margin-bottom: calc(var(--box-spacing) * 3); }
cnc-markdown .markdown-body ol { list-style-type: decimal; padding-left: calc(var(--box-spacing) * 5); margin-bottom: calc(var(--box-spacing) * 3); }
cnc-markdown .markdown-body li { margin-bottom: calc(var(--box-spacing) * 1); }
cnc-markdown .markdown-body blockquote { border-left-width: 4px; border-left-style: var(--tw-border-style); border-color: var(--color-slate-300); padding-left: calc(var(--box-spacing) * 4); font-style: italic; color: var(--color-slate-500); margin-block: calc(var(--box-spacing) * 3); }
.dark cnc-markdown .markdown-body blockquote { border-color: var(--color-slate-500); color: var(--color-slate-400); }
cnc-markdown .markdown-body code { background-color: var(--color-slate-100); padding-inline: calc(var(--box-spacing) * 1); padding-block: calc(var(--box-spacing) * 0.5); border-radius: 0.25rem; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-family: var(--font-mono); }
.dark cnc-markdown .markdown-body code { background-color: var(--color-slate-800); }
cnc-markdown .markdown-body pre { background-color: var(--color-slate-50); border-radius: 0.25rem; padding: calc(var(--box-spacing) * 3); overflow-x: auto; margin-bottom: calc(var(--box-spacing) * 3); }
.dark cnc-markdown .markdown-body pre { background-color: var(--color-slate-900); }
cnc-markdown .markdown-body pre code { background-color: transparent; padding: calc(var(--box-spacing) * 0); }
cnc-markdown .markdown-body table { width: 100%; margin-bottom: calc(var(--box-spacing) * 3); }
cnc-markdown .markdown-body th { border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 1.5); text-align: left; font-weight: var(--font-weight-semibold); background-color: var(--color-slate-100); }
.dark cnc-markdown .markdown-body th { border-color: var(--color-slate-600); background-color: var(--color-slate-800); }
cnc-markdown .markdown-body td { border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-200); padding-inline: calc(var(--box-spacing) * 3); padding-block: calc(var(--box-spacing) * 1.5); }
.dark cnc-markdown .markdown-body td { border-color: var(--color-slate-700); }
cnc-markdown .markdown-body a { color: var(--color-primary-600); text-decoration-line: underline; }
.dark cnc-markdown .markdown-body a { color: var(--color-primary-400); }
}
@layer app-widgets {
cnc-markdown-tiptap .tiptap { padding: 0.5rem 1rem; min-height: 8rem; flex: 1 1 auto; outline: none; }
}
@layer app-widgets {
cnc-modal[shape="rounded"], cnc-modal:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-xl , 0.75rem ) ); }
cnc-modal[shape="square"], cnc-modal[shape="rectangle"] { --shape-border-radius: 0; }
cnc-modal[size="sm"] { --container-inline-size-max: 24rem; --container-padding: 1rem; --title-font-size: 1.125rem; }
cnc-modal[size="md"], cnc-modal:not([size]) { --container-inline-size-max: 32rem; --container-padding: 1.25rem; --title-font-size: 1.25rem; }
cnc-modal[size="lg"] { --container-inline-size-max: 48rem; --container-padding: 1.5rem; --title-font-size: 1.375rem; }
cnc-modal[size="full"] { --container-inline-size-max: 72rem; --container-padding: 1.5rem; --title-font-size: 1.5rem; }
cnc-modal { --container-viewport-gap: 0.5rem; --container-block-size-max: calc( 100dvh - 1rem ); --container-border-radius: var( --shape-border-radius , 0 ); --container-border-width: 1px; --container-stack-offset: 0.25rem; --title-font-weight: 600; --footer-border-width: 1px; --close-size: 2rem; --close-icon-size: 1.25rem; --close-border-radius: var( --radius-md , 0.375rem ); --close-transition-duration: 120ms; --close-transition-timing: ease-out; position: fixed; z-index: 50; }
cnc-modal:not([kind]), cnc-modal[kind="filled"] { --container-bg: var( --color-neutral-50 , white ); --container-text-color: var( --color-neutral-800 , rgb( 38 38 38 ) ); --container-border-color: rgb( 0 0 0 / 10% ); --container-shadow: 0 20px 25px -5px rgb( 0 0 0 / 10% ) , 0 8px 10px -6px rgb( 0 0 0 / 10% ); --footer-border-color: var( --container-border-color ); --close-text-color: var( --color-neutral-400 , rgb( 163 163 163 ) ); --close-text-color-hover: var( --color-neutral-700 , rgb( 64 64 64 ) ); --close-bg-hover: var( --color-neutral-100 , rgb( 245 245 245 ) ); }
.dark cnc-modal:not([kind]), .dark cnc-modal[kind="filled"] { --container-bg: var( --color-neutral-800 , rgb( 38 38 38 ) ); --container-text-color: var( --color-neutral-100 , rgb( 245 245 245 ) ); --container-border-color: rgb( 255 255 255 / 15% ); --container-shadow: 0 20px 25px -5px rgb( 0 0 0 / 30% ) , 0 8px 10px -6px rgb( 0 0 0 / 20% ); --footer-border-color: var( --container-border-color ); --close-text-color: var( --color-neutral-400 , rgb( 163 163 163 ) ); --close-text-color-hover: var( --color-neutral-100 , rgb( 245 245 245 ) ); --close-bg-hover: var( --color-neutral-700 , rgb( 64 64 64 ) ); }
cnc-modal[kind="plain"] { --container-bg: inherit; --container-text-color: inherit; --container-border-color: transparent; --container-shadow: none; --footer-border-color: transparent; --close-text-color: currentColor; --close-text-color-hover: currentColor; --close-bg-hover: transparent; }
cnc-modal .cnc-modal_container { inline-size: min( var( --container-inline-size-max ) , calc( 90vw - 2 * var( --container-viewport-gap ) ) ); max-block-size: var( --container-block-size-max ); color: var( --container-text-color ); background: var( --container-bg ); border: var( --container-border-width ) solid var( --container-border-color ); border-radius: var( --container-border-radius ); box-shadow: var( --container-shadow ); transform: translateY( calc( var( --modal-stack-depth , 0 ) * var( --container-stack-offset ) ) ); }
cnc-modal .cnc-modal_header { padding: var( --header-padding , var( --container-padding ) ); }
cnc-modal .cnc-modal_title { min-inline-size: 0; font-size: var( --title-font-size ); font-weight: var( --title-font-weight ); }
cnc-modal .cnc-modal_close { inline-size: var( --close-size ); block-size: var( --close-size ); padding: 0; color: var( --close-text-color ); background: transparent; border: 0; border-radius: var( --close-border-radius ); transition: color var( --close-transition-duration ) var( --close-transition-timing ) , background var( --close-transition-duration ) var( --close-transition-timing ); }
cnc-modal .cnc-modal_close:hover { color: var( --close-text-color-hover ); background: var( --close-bg-hover ); }
cnc-modal .cnc-modal_close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
cnc-modal .cnc-modal_close-icon { inline-size: var( --close-icon-size ); block-size: var( --close-icon-size ); }
cnc-modal .cnc-modal_body { min-block-size: 0; padding: var( --body-padding , var( --container-padding ) ); }
cnc-modal .cnc-modal_footer { padding: var( --footer-padding , var( --container-padding ) ); border-top: var( --footer-border-width ) solid var( --footer-border-color ); }
cnc-modal .cnc-modal_footer:not(:has(*)) { display: none; }
@media (min-width: 40rem) {
cnc-modal { --container-viewport-gap: 1rem; --container-block-size-max: calc( 100dvh - 2rem ); --container-stack-offset: 0.5rem; }
}
@media (min-width: 64rem) {
cnc-modal { --container-viewport-gap: 2rem; --container-block-size-max: calc( 100dvh - 4rem ); --container-stack-offset: 0.75rem; }
}
}
@layer app-widgets {
cnc-nav-horizontal .nav-bar { min-height: 2.5rem; }
cnc-nav-horizontal .nav-link { transition: background 0.15s , color 0.15s; color: var(--color-neutral-500); }
.dark cnc-nav-horizontal .nav-link { color: var(--color-neutral-400); }
cnc-nav-horizontal .nav-link:hover { background-color: var(--color-neutral-200); color: var(--color-neutral-700); }
.dark cnc-nav-horizontal .nav-link:hover { background-color: var(--color-neutral-600); color: var(--color-neutral-200); }
cnc-nav-horizontal .nav-link.active { border-bottom: 2px solid var( --color-primary-500 ); background-color: var(--color-neutral-200); color: var(--color-neutral-900); }
.dark cnc-nav-horizontal .nav-link.active { background-color: var(--color-neutral-500); color: var(--color-neutral-100); }
cnc-nav-horizontal .nav-sublink { transition: background 0.15s , color 0.15s; color: var(--color-neutral-600); }
.dark cnc-nav-horizontal .nav-sublink { color: var(--color-neutral-300); }
cnc-nav-horizontal .nav-sublink:hover { background-color: var(--color-neutral-100); color: var(--color-neutral-900); }
.dark cnc-nav-horizontal .nav-sublink:hover { background-color: var(--color-neutral-700); color: var(--color-neutral-100); }
cnc-nav-horizontal .nav-sublink.active { background-color: var(--color-primary-50); color: var(--color-primary-700); }
.dark cnc-nav-horizontal .nav-sublink.active { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); color: var(--color-primary-300); }
}
@layer app-widgets {
cnc-nav-horizontal2 { display: block; }
cnc-nav-horizontal2 .nav-bar { min-height: 2.5rem; }
cnc-nav-horizontal2 .nav-item { position: relative; }
cnc-nav-horizontal2 .nav-link { border-bottom: 2px solid transparent; transition: background 0.15s , color 0.15s; color: var(--color-neutral-500); }
.dark cnc-nav-horizontal2 .nav-link { color: var(--color-neutral-400); }
cnc-nav-horizontal2 .nav-link:hover, cnc-nav-horizontal2 .nav-item.panel-open .nav-link { border-radius: 0.25rem 0.25rem 0 0; background-color: var(--color-neutral-100); color: var(--color-neutral-700); }
.dark cnc-nav-horizontal2 .nav-link:hover, .dark cnc-nav-horizontal2 .nav-item.panel-open .nav-link { background-color: var(--color-neutral-700); color: var(--color-neutral-200); }
cnc-nav-horizontal2 .nav-link.active { border-bottom-color: currentColor; color: var(--color-sky-600); font-weight: var(--font-weight-semibold); }
.dark cnc-nav-horizontal2 .nav-link.active { color: var(--color-sky-400); }
cnc-nav-horizontal2 .nav-panel { min-height: 2rem; border-top-width: 1px; border-top-style: var(--tw-border-style); border-color: var(--color-neutral-200); background-color: var(--color-white); }
.dark cnc-nav-horizontal2 .nav-panel { border-color: var(--color-neutral-700); background-color: var(--color-neutral-800); }
cnc-nav-horizontal2 .nav-panel .nav-link, cnc-nav-horizontal2 .nav-sublink { transition: background 0.15s , color 0.15s; color: var(--color-neutral-600); }
.dark cnc-nav-horizontal2 .nav-panel .nav-link, .dark cnc-nav-horizontal2 .nav-sublink { color: var(--color-neutral-300); }
cnc-nav-horizontal2 .nav-panel .nav-link:hover, cnc-nav-horizontal2 .nav-sublink:hover { background-color: var(--color-neutral-100); color: var(--color-neutral-900); }
.dark cnc-nav-horizontal2 .nav-panel .nav-link:hover, .dark cnc-nav-horizontal2 .nav-sublink:hover { background-color: var(--color-neutral-700); color: var(--color-neutral-100); }
cnc-nav-horizontal2 .nav-panel .nav-link.active, cnc-nav-horizontal2 .nav-sublink.active { background-color: var(--color-sky-50); color: var(--color-sky-700); font-weight: var(--font-weight-medium); }
.dark cnc-nav-horizontal2 .nav-panel .nav-link.active, .dark cnc-nav-horizontal2 .nav-sublink.active { background-color: color-mix(in oklab, var(--color-sky-900) 30%, transparent); color: var(--color-sky-300); }
cnc-nav-horizontal2 .nav-group { border-right: 1px solid; border-color: var(--color-neutral-100); }
.dark cnc-nav-horizontal2 .nav-group { border-color: var(--color-neutral-700); }
cnc-nav-horizontal2 .nav-group:last-child { border-right: none; }
cnc-nav-horizontal2 .nav-group-header { display: block; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-neutral-400); padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1); margin-bottom: calc(var(--box-spacing) * 0.5); }
.dark cnc-nav-horizontal2 .nav-group-header { color: var(--color-neutral-500); }
cnc-nav-horizontal2 a.nav-group-header { transition: color 0.15s; cursor: pointer; }
cnc-nav-horizontal2 a.nav-group-header:hover { color: var(--color-neutral-600); }
.dark cnc-nav-horizontal2 a.nav-group-header:hover { color: var(--color-neutral-300); }
cnc-nav-horizontal2 a.nav-group-header.active { color: var(--color-sky-600); }
.dark cnc-nav-horizontal2 a.nav-group-header.active { color: var(--color-sky-400); }
}
@layer app-widgets {
cnc-nav-mobile .nav-mobile-wrapper { width: 100%; }
cnc-nav-mobile .nav-mobile-content { transition: opacity 0.3s ease , transform 0.3s ease; opacity: 0; transform: translateY( -10px ); pointer-events: none; }
cnc-nav-mobile .nav-mobile-content.menu-open { opacity: 1; pointer-events: auto; transform: translateY( 0px ); }
cnc-nav-mobile .nav-mobile-list .nav-mobile-list { padding-left: calc(var(--box-spacing) * 4); }
cnc-nav-mobile .hamburger { padding: 15px; display: inline-block; cursor: pointer; transition-property: opacity , filter; transition-duration: 0.15s; transition-timing-function: linear; background-color: transparent; border: 0; margin: 0; }
cnc-nav-mobile .hamburger:hover { opacity: 0.7; }
cnc-nav-mobile .hamburger-box { width: 40px; height: 24px; display: inline-block; position: relative; }
cnc-nav-mobile .hamburger-inner { display: block; top: 50%; margin-top: -2px; }
cnc-nav-mobile .hamburger-inner, cnc-nav-mobile .hamburger-inner::before, cnc-nav-mobile .hamburger-inner::after { width: 40px; height: 4px; background-color: #000; border-radius: 4px; position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; }
cnc-nav-mobile .hamburger-inner::before, cnc-nav-mobile .hamburger-inner::after { content: ""; display: block; }
cnc-nav-mobile .hamburger-inner::before { top: -10px; }
cnc-nav-mobile .hamburger-inner::after { bottom: -10px; }
cnc-nav-mobile .hamburger--slider .hamburger-inner { top: 2px; }
cnc-nav-mobile .hamburger--slider .hamburger-inner::before { top: 10px; transition-property: transform , opacity; transition-timing-function: ease; transition-duration: 0.15s; }
cnc-nav-mobile .hamburger--slider .hamburger-inner::after { top: 20px; }
cnc-nav-mobile .hamburger--slider.is-active .hamburger-inner { transform: translate3d( 0 , 10px , 0 ) rotate( 45deg ); }
cnc-nav-mobile .hamburger--slider.is-active .hamburger-inner::before { transform: rotate( -45deg ) translate3d( -5.71429px , -6px , 0 ); opacity: 0; }
cnc-nav-mobile .hamburger--slider.is-active .hamburger-inner::after { transform: translate3d( 0 , -20px , 0 ) rotate( -90deg ); }
cnc-nav-mobile .hamburger.is-active .hamburger-inner, cnc-nav-mobile .hamburger.is-active .hamburger-inner::before, cnc-nav-mobile .hamburger.is-active .hamburger-inner::after { background-color: #000; }
}
@layer app-widgets {
cnc-nav-mobile-drop .menu-wrapper { width: 100%; max-width: 300px; perspective: 1000px; perspective-origin: 50% 200%; }
cnc-nav-mobile-drop .menu-content { transition: opacity 0.3s ease , transform 0.3s ease; opacity: 0; transform: translateY( -10px ); pointer-events: none; }
cnc-nav-mobile-drop .menu-content.menu-open { opacity: 1; pointer-events: auto; transform: translateY( 0px ); }
cnc-nav-mobile-drop .hamburger { padding: 15px; display: inline-block; cursor: pointer; transition-property: opacity , filter; transition-duration: 0.15s; transition-timing-function: linear; background-color: transparent; border: 0; margin: 0; }
cnc-nav-mobile-drop .hamburger:hover { opacity: 0.7; }
cnc-nav-mobile-drop .hamburger-box { width: 40px; height: 24px; display: inline-block; position: relative; }
cnc-nav-mobile-drop .hamburger-inner { display: block; top: 50%; margin-top: -2px; }
cnc-nav-mobile-drop .hamburger-inner, cnc-nav-mobile-drop .hamburger-inner::before, cnc-nav-mobile-drop .hamburger-inner::after { width: 40px; height: 4px; background-color: #000; border-radius: 4px; position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; }
cnc-nav-mobile-drop .hamburger-inner::before, cnc-nav-mobile-drop .hamburger-inner::after { content: ""; display: block; }
cnc-nav-mobile-drop .hamburger-inner::before { top: -10px; }
cnc-nav-mobile-drop .hamburger-inner::after { bottom: -10px; }
cnc-nav-mobile-drop .hamburger--slider .hamburger-inner { top: 2px; }
cnc-nav-mobile-drop .hamburger--slider .hamburger-inner::before { top: 10px; transition-property: transform , opacity; transition-timing-function: ease; transition-duration: 0.15s; }
cnc-nav-mobile-drop .hamburger--slider .hamburger-inner::after { top: 20px; }
cnc-nav-mobile-drop .hamburger--slider.is-active .hamburger-inner { transform: translate3d( 0 , 10px , 0 ) rotate( 45deg ); }
cnc-nav-mobile-drop .hamburger--slider.is-active .hamburger-inner::before { transform: rotate( -45deg ) translate3d( -5.71429px , -6px , 0 ); opacity: 0; }
cnc-nav-mobile-drop .hamburger--slider.is-active .hamburger-inner::after { transform: translate3d( 0 , -20px , 0 ) rotate( -90deg ); }
cnc-nav-mobile-drop .hamburger.is-active .hamburger-inner, cnc-nav-mobile-drop .hamburger.is-active .hamburger-inner::before, cnc-nav-mobile-drop .hamburger.is-active .hamburger-inner::after { background-color: #000; }
}
@layer app-widgets {
cnc-nav-vertical { --container-max-width: 24rem; --list-padding-start: 1rem; --list-margin-start: 0; --list-border-width: 0; --list-border-color: transparent; --list-transition-duration: 0.3s; --row-gap: 0.5rem; --row-padding-y: 0.375rem; --row-padding-x: 0.5rem; --row-border-radius: var( --radius-sm , 0.25rem ); --row-font-size: 0.875rem; --row-font-weight: inherit; --row-text-color: var( --color-neutral-600 ); --row-text-color-hover: var( --color-neutral-700 ); --row-bg-hover: var( --color-neutral-100 ); --row-text-color-selected: var( --color-neutral-500 ); --row-bg-selected: var( --color-neutral-100 ); --row-text-color-highlighted: var( --color-neutral-600 ); --top-row-font-weight: 500; --top-row-text-color: var( --color-neutral-800 ); --icon-size: 1.25rem; --icon-color: var( --color-neutral-400 ); --counter-size: 1.5rem; --counter-padding: 0.125rem; --counter-margin-end: 0.25rem; --counter-bg: var( --color-neutral-400 ); --counter-text-color: var( --color-neutral-100 ); --counter-border-radius: var( --radius-full , 9999px ); --counter-font-size: 0.75rem; --counter-font-weight: 600; --toggle-size: 0.625rem; --toggle-padding: 0.25rem; --toggle-icon: var( --icon-chevron-svg ); --toggle-color: var( --color-neutral-400 ); --toggle-rotation: -90deg; --toggle-rotation-expanded: 0deg; --toggle-transition-duration: 0.3s; }
.dark cnc-nav-vertical { --row-text-color: var( --color-neutral-300 ); --row-text-color-hover: var( --color-neutral-400 ); --row-bg-hover: var( --color-neutral-800 ); --row-text-color-selected: var( --color-neutral-400 ); --row-bg-selected: var( --color-neutral-800 ); --row-text-color-highlighted: var( --color-neutral-400 ); --top-row-text-color: var( --color-neutral-100 ); --icon-color: var( --color-neutral-500 ); --toggle-color: var( --color-neutral-500 ); }
cnc-nav-vertical { max-width: var( --container-max-width ); }
cnc-nav-vertical .cnc-nav-vertical_list { margin-inline-start: var( --list-margin-start ); padding-inline-start: var( --list-padding-start ); border-inline-start: var( --list-border-width ) solid var( --list-border-color ); transition: max-height var( --list-transition-duration ) ease; }
cnc-nav-vertical .cnc-nav-vertical_list[data-level="1"] { margin-inline-start: 0; padding-inline-start: 0; border-inline-start: 0; }
cnc-nav-vertical .cnc-nav-vertical_row { gap: var( --row-gap ); padding: var( --row-padding-y ) var( --row-padding-x ); border-radius: var( --row-border-radius ); font-size: var( --row-font-size ); font-weight: var( --row-font-weight ); color: var( --row-text-color ); }
cnc-nav-vertical .cnc-nav-vertical_icon { inline-size: var( --icon-size ); block-size: var( --icon-size ); color: var( --icon-color ); }
cnc-nav-vertical .cnc-nav-vertical_counter { min-inline-size: var( --counter-size ); min-block-size: var( --counter-size ); padding: var( --counter-padding ); margin-inline-end: var( --counter-margin-end ); background: var( --counter-bg ); color: var( --counter-text-color ); border-radius: var( --counter-border-radius ); font-size: var( --counter-font-size ); font-weight: var( --counter-font-weight ); }
cnc-nav-vertical .cnc-nav-vertical_toggle { box-sizing: content-box; inline-size: var( --toggle-size ); block-size: var( --toggle-size ); padding: var( --toggle-padding ); background: var( --toggle-color ); background-clip: content-box; mask-image: var( --toggle-icon , linear-gradient( transparent , transparent ) ); mask-position: center; mask-size: contain; mask-repeat: no-repeat; mask-origin: content-box; mask-clip: content-box; rotate: var( --toggle-rotation ); transition: rotate var( --toggle-transition-duration ); }
cnc-nav-vertical .cnc-nav-vertical_list[data-expanded="false"] { max-height: 0; }
cnc-nav-vertical .cnc-nav-vertical_list[data-expanded="true"] { max-height: 2000px; }
cnc-nav-vertical .cnc-nav-vertical_toggle[data-expanded="true"] { rotate: var( --toggle-rotation-expanded ); }
cnc-nav-vertical .cnc-nav-vertical_row:hover { color: var( --row-text-color-hover ); background: var( --row-bg-hover ); }
cnc-nav-vertical .cnc-nav-vertical_row[aria-current="page"] { color: var( --row-text-color-selected ); background: var( --row-bg-selected ); }
cnc-nav-vertical .cnc-nav-vertical_row[data-highlighted="true"] { color: var( --row-text-color-highlighted ); }
cnc-nav-vertical .cnc-nav-vertical_list[data-level="1"] > .cnc-nav-vertical_item > .cnc-nav-vertical_row { font-weight: var( --top-row-font-weight ); color: var( --top-row-text-color ); }
}
@layer app-widgets {
cnc-nav-vertical2 .tree ul.children, cnc-nav-vertical2 .tree li.item { margin: 0; padding-left: 0; list-style: none; }
}
@layer app-widgets {
cnc-overlay { --surface-border-radius: inherit; }
cnc-overlay { --surface-bg: inherit; --surface-text-color: inherit; --overlay-backdrop-bg-open: rgb( 0 0 0 / 50% ); --overlay-backdrop-filter-open: blur( 0 ); --overlay-transition-duration: 160ms; --overlay-transition-timing: ease-out; --overlay-scale-closed: 0.98; }
cnc-overlay { display: inline-block; position: relative; }
cnc-overlay .cnc-overlay_surface { overflow: visible; color: var( --surface-text-color ); background: var( --surface-bg ); border-radius: var( --surface-border-radius ); }
cnc-overlay .cnc-overlay_content { overflow: visible; color: inherit; background: inherit; border-radius: inherit; }
cnc-overlay[backdrop="none"], cnc-overlay[backdrop="false"] { --overlay-backdrop-bg-open: transparent; --overlay-backdrop-filter-open: blur( 0 ); }
cnc-overlay[backdrop="true"], cnc-overlay[backdrop="dark"], cnc-overlay:not([backdrop]) { --overlay-backdrop-bg-open: rgb( 0 0 0 / 50% ); --overlay-backdrop-filter-open: blur( 0 ); }
cnc-overlay[backdrop="blur"] { --overlay-backdrop-bg-open: transparent; --overlay-backdrop-filter-open: blur( 0.5rem ); }
cnc-overlay dialog.cnc-overlay_surface { opacity: 0; transform: scale( var( --overlay-scale-closed ) ); transition: opacity var( --overlay-transition-duration ) var( --overlay-transition-timing ) , transform var( --overlay-transition-duration ) var( --overlay-transition-timing ); }
cnc-overlay dialog.cnc-overlay_surface::backdrop { background: transparent; backdrop-filter: blur( 0 ); transition: background-color var( --overlay-transition-duration ) var( --overlay-transition-timing ) , backdrop-filter var( --overlay-transition-duration ) var( --overlay-transition-timing ); }
cnc-overlay dialog.cnc-overlay_surface[data-state="open"] { opacity: 1; transform: scale( 1 ); }
cnc-overlay dialog.cnc-overlay_surface[data-state="open"]::backdrop { background-color: var( --overlay-backdrop-bg-open ); backdrop-filter: var( --overlay-backdrop-filter-open ); }
cnc-overlay dialog.cnc-overlay_surface[data-state="closing"] { opacity: 0; transform: scale( var( --overlay-scale-closed ) ); }
cnc-overlay dialog.cnc-overlay_surface[data-state="closing"]::backdrop { background-color: transparent; backdrop-filter: blur( 0 ); }
cnc-overlay[animation="none"] { --overlay-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-overlay { --overlay-transition-duration: 0ms; }
}
}
@layer app-widgets {
cnc-pagination .pagination-container { background-color: var(--color-white); border-top-width: 1px; border-top-style: var(--tw-border-style); border-color: var(--color-slate-200); padding-inline: calc(var(--box-spacing) * 4); padding-block: calc(var(--box-spacing) * 3); }
.dark cnc-pagination .pagination-container { background-color: var(--color-slate-800); border-color: var(--color-slate-700); }
cnc-pagination .pagination-inner { display: flex; align-items: center; justify-content: space-between; }
cnc-pagination .pagination-info { flex: 1; }
cnc-pagination .info-text { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-slate-600); margin: calc(var(--box-spacing) * 0); }
.dark cnc-pagination .info-text { color: var(--color-slate-300); }
cnc-pagination .info-text .bold { font-weight: var(--font-weight-medium); }
cnc-pagination .pagination-nav { display: flex; align-items: center; gap: calc(var(--spacing) * 2); }
cnc-pagination .page-size-select { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); border-radius: var(--radius-md); padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1.5); background-color: var(--color-white); color: var(--color-slate-700); cursor: pointer; }
.dark cnc-pagination .page-size-select { border-color: var(--color-slate-600); background-color: var(--color-slate-700); color: var(--color-slate-200); }
cnc-pagination .page-size-select:focus { --tw-outline-style: none; outline-style: none; --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-primary-500); }
}
@layer app-widgets {
cnc-panel:where([shape="rounded"], :not([shape])) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-panel:where([shape="soft"]) { --shape-border-radius: var( --shape-border-radius-soft , var( --radius-md , 0.375rem ) ); }
cnc-panel:where([shape="square"], [shape="rectangle"]) { --shape-border-radius: 0; }
cnc-panel { --container-margin-y: calc( var( --spacing ) * 4 ); --container-bg: transparent; --container-bg-well: rgb( 241 245 249 / 0.5 ); --container-border-color: var( --color-slate-300 ); --container-border-radius: var( --shape-border-radius , 0 ); --container-shadow: 0 1px 3px rgb( 0 0 0 / 0.1 ); --header-padding-x: calc( var( --spacing ) * 6 ); --header-padding-y: calc( var( --spacing ) * 5 ); --header-gap: calc( var( --spacing ) * 4 ); --header-text-color: var( --color-slate-800 ); --title-font-size: var( --text-xl ); --title-line-height: var( --text-xl--line-height ); --title-font-weight: var( --font-weight-bold ); --body-padding-x: calc( var( --spacing ) * 6 ); --body-padding-top: 0; --body-padding-bottom: calc( var( --spacing ) * 4 ); --body-text-color: var( --color-slate-800 ); --footer-padding-x: calc( var( --spacing ) * 6 ); --footer-padding-y: calc( var( --spacing ) * 4 ); }
.dark cnc-panel { --container-bg: transparent; --container-bg-well: color-mix( in oklab , var( --color-slate-50 ) 5% , transparent ); --container-border-color: var( --color-slate-700 ); --header-text-color: var( --color-slate-200 ); --body-text-color: var( --color-slate-200 ); }
cnc-panel { display: block; }
cnc-panel .cnc-panel_container { margin-block: var( --container-margin-y ); background: var( --container-bg ); border: 1px solid var( --container-border-color ); border-radius: var( --container-border-radius ); box-shadow: var( --container-shadow ); }
cnc-panel .cnc-panel_header { padding: var( --header-padding-y ) var( --header-padding-x ); color: var( --header-text-color ); }
cnc-panel .cnc-panel_title { font-size: var( --title-font-size ); line-height: var( --title-line-height ); font-weight: var( --title-font-weight ); }
cnc-panel .cnc-panel_body { padding: var( --body-padding-top ) var( --body-padding-x ) var( --body-padding-bottom ); color: var( --body-text-color ); }
cnc-panel .cnc-panel_footer { padding: var( --footer-padding-y ) var( --footer-padding-x ); }
cnc-panel .cnc-panel_container[data-well="true"] { background: var( --container-bg-well , var( --container-bg ) ); }
}
@layer app-widgets {
cnc-pdf-viewer { height: 36rem; }
cnc-pdf-viewer:fullscreen { translate: none !important; rotate: none !important; scale: none !important; }
cnc-pdf-viewer .pdf-viewer { height: 100%; }
cnc-pdf-viewer .pdf-viewer:focus { outline: none; }
cnc-pdf-viewer .pdf-viewer:focus-visible { outline: 2px solid var( --color-primary-500 , #3b82f6 ); outline-offset: -2px; }
cnc-pdf-viewer.cnc-pdf-viewer_fullscreen .pdf-viewer { border-radius: 0; border: 0; }
cnc-pdf-viewer .control-box:focus-within { border-color: var( --color-primary-400 , #60a5fa ); }
cnc-pdf-viewer .page-surface canvas, cnc-pdf-viewer .thumb-surface canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
cnc-pdf-viewer .textLayer { --min-font-size: 1; --text-scale-factor: calc( var( --total-scale-factor ) * var( --min-font-size ) ); --min-font-size-inv: calc( 1 / var( --min-font-size ) ); --scale-round-x: 1px; --scale-round-y: 1px; color-scheme: only light; position: absolute; inset: 0; overflow: clip; text-align: initial; line-height: 1; letter-spacing: normal; word-spacing: normal; text-size-adjust: none; forced-color-adjust: none; transform-origin: 0 0; caret-color: CanvasText; z-index: 0; }
cnc-pdf-viewer .textLayer :is(span, br) { color: transparent; position: absolute; white-space: pre; cursor: text; transform-origin: 0% 0%; user-select: text; }
cnc-pdf-viewer .textLayer > :not(.markedContent), cnc-pdf-viewer .textLayer .markedContent span:not(.markedContent) { --font-height: 0; --scale-x: 1; --rotate: 0deg; z-index: 1; font-size: calc( var( --text-scale-factor ) * var( --font-height ) ); transform: rotate( var( --rotate ) ) scaleX( var( --scale-x ) ) scale( var( --min-font-size-inv ) ); }
cnc-pdf-viewer .textLayer .markedContent { display: contents; }
cnc-pdf-viewer .textLayer span[role="img"] { user-select: none; cursor: default; }
cnc-pdf-viewer .textLayer ::selection { background: color-mix( in srgb , AccentColor , transparent 50% ); color: transparent; }
cnc-pdf-viewer .textLayer br::selection { background: transparent; }
cnc-pdf-viewer .textLayer .endOfContent { display: block; position: absolute; inset: 100% 0 0; z-index: 0; cursor: default; user-select: none; }
cnc-pdf-viewer .textLayer.selecting .endOfContent { top: 0; }
cnc-pdf-viewer .textLayer[data-main-rotation="90"] { transform: rotate( 90deg ) translateY( -100% ); }
cnc-pdf-viewer .textLayer[data-main-rotation="180"] { transform: rotate( 180deg ) translate( -100% , -100% ); }
cnc-pdf-viewer .textLayer[data-main-rotation="270"] { transform: rotate( 270deg ) translateX( -100% ); }
cnc-pdf-viewer .text-select-off .textLayer { pointer-events: none; }
cnc-pdf-viewer .text-select-off .textLayer :is(span, br) { user-select: none; cursor: default; }
cnc-pdf-viewer .textLayer .highlight { margin: -1px; padding: 1px; border-radius: 4px; background-color: color-mix( in srgb , var( --color-yellow-400 , #facc15 ) , transparent 55% ); }
cnc-pdf-viewer .textLayer .highlight.appended { position: initial; }
cnc-pdf-viewer .textLayer .highlight.begin { border-radius: 4px 0 0 4px; }
cnc-pdf-viewer .textLayer .highlight.end { border-radius: 0 4px 4px 0; }
cnc-pdf-viewer .textLayer .highlight.middle { border-radius: 0; }
cnc-pdf-viewer .textLayer .highlight.selected { background-color: color-mix( in srgb , var( --color-orange-500 , #f97316 ) , transparent 45% ); }
cnc-pdf-viewer .highlight-flash { animation: cnc-pdf-viewer-cnc-pdf-flash 0.8s ease-out; }
@keyframes cnc-pdf-viewer-cnc-pdf-flash {
  50% { filter: opacity( 0.5 ); }
}
cnc-pdf-viewer .control-box { height: 1.75rem; }
cnc-pdf-viewer .print-button_printing cnc-icon svg { animation: cnc-pdf-viewer-cnc-pdf-spin 0.8s linear infinite; }
@keyframes cnc-pdf-viewer-cnc-pdf-spin {
  to { rotate: 360deg; }
}
cnc-pdf-viewer .outline-view .tree-row.active { background-color: var(--color-neutral-200); font-weight: var(--font-weight-bold); color: var(--color-primary-700); }
.dark cnc-pdf-viewer .outline-view .tree-row.active { background-color: var(--color-neutral-700); color: var(--color-primary-300); }
cnc-pdf-viewer .zoom-select { display: flex; width: fit-content; }
cnc-pdf-viewer .zoom-select .cnc-select_trigger { width: auto; padding: 0 0.5rem; font-size: 0.75rem; }
cnc-pdf-viewer .zoom-select .cnc-select_trigger-content { justify-content: center; }
cnc-pdf-viewer .zoom-select .cnc-select_selected { flex: none; }
cnc-pdf-viewer .zoom-select .cnc-select_selected-text { gap: 0; font-size: 0; }
cnc-pdf-viewer .zoom-select .cnc-select_selected-label { font-size: 0.75rem; }
cnc-pdf-viewer .zoom-select .preset-icon-chevron { display: none; }
cnc-pdf-viewer .control-box input { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font: inherit; height: 1rem; line-height: 1rem; }
cnc-pdf-viewer .pageView::-webkit-scrollbar { width: 14px; height: 14px; }
cnc-pdf-viewer .thumbView::-webkit-scrollbar { width: 8px; }
cnc-pdf-viewer .pageView::-webkit-scrollbar-track, cnc-pdf-viewer .thumbView::-webkit-scrollbar-track { background: transparent; }
cnc-pdf-viewer .pageView::-webkit-scrollbar-thumb, cnc-pdf-viewer .thumbView::-webkit-scrollbar-thumb { min-height: 48px; border: 2px solid transparent; border-radius: 9999px; background: #94a3b8 padding-box; }
cnc-pdf-viewer .pageView::-webkit-scrollbar-thumb { border-width: 3px; }
cnc-pdf-viewer .pageView::-webkit-scrollbar-thumb:hover, cnc-pdf-viewer .thumbView::-webkit-scrollbar-thumb:hover { background-color: #64748b; }
.dark cnc-pdf-viewer .pageView::-webkit-scrollbar-thumb, .dark cnc-pdf-viewer .thumbView::-webkit-scrollbar-thumb { background-color: #475569; }
.dark cnc-pdf-viewer .pageView::-webkit-scrollbar-thumb:hover, .dark cnc-pdf-viewer .thumbView::-webkit-scrollbar-thumb:hover { background-color: #64748b; }
@supports not selector(::-webkit-scrollbar) {
cnc-pdf-viewer .pageView, cnc-pdf-viewer .thumbView { scrollbar-color: #94a3b8 transparent; }
cnc-pdf-viewer .thumbView { scrollbar-width: thin; }
.dark cnc-pdf-viewer .pageView, .dark cnc-pdf-viewer .thumbView { scrollbar-color: #475569 transparent; }
}
cnc-pdf-viewer .bookmark-flag { position: absolute; left: calc( 100% - 0.375rem ); z-index: 20; display: flex; align-items: center; max-width: 10rem; height: 1.125rem; padding: 0 0.5rem 0 0.75rem; border: 0; color: #1f2937; font-size: 0.6875rem; font-weight: 500; line-height: 1; white-space: nowrap; border-radius: 0 3px 3px 0; background: linear-gradient( to right , color-mix( in srgb , var( --flag-color ) 55% , transparent ) 0.375rem , var( --flag-color ) 0.375rem ); box-shadow: 1px 1px 2px rgb( 0 0 0 / 0.2 ); cursor: pointer; transition: translate 0.1s; }
cnc-pdf-viewer .bookmark-flag:hover, cnc-pdf-viewer .bookmark-flag:focus-visible { translate: 2px 0; outline: none; }
cnc-pdf-viewer .bookmark-flag-label { overflow: hidden; text-overflow: ellipsis; }
cnc-pdf-viewer .bookmark-tint { opacity: 0.35; }
cnc-pdf-viewer .bookmark-tint_flash { animation: cnc-pdf-viewer-cnc-pdf-bookmark-flash 1.2s ease-out; }
@keyframes cnc-pdf-viewer-cnc-pdf-bookmark-flash {
  0%, 40% { opacity: 0.6; }
}
cnc-pdf-viewer .thumb-flag { position: absolute; right: 0; width: 4px; height: 6%; min-height: 4px; border-radius: 1px 0 0 1px; }
cnc-pdf-viewer .viewer-popover { position: absolute; z-index: 30; padding: 0.375rem; border: 1px solid var( --color-neutral-200 , #e5e7eb ); border-radius: 0.5rem; background: white; box-shadow: 0 4px 12px rgb( 0 0 0 / 0.15 ); translate: -50% 0; }
cnc-pdf-viewer .bookmark-editor { translate: none; }
cnc-pdf-viewer .selection-actions { display: flex; gap: 0.25rem; max-width: 360px; overflow: hidden; white-space: nowrap; }
.dark cnc-pdf-viewer .viewer-popover { border-color: var( --color-neutral-700 , #374151 ); background: var( --color-neutral-800 , #1f2937 ); }
cnc-pdf-viewer .bookmark-field { width: 100%; padding: 0.25rem 0.5rem; border: 1px solid var( --color-neutral-300 , #d1d5db ); border-radius: 0.375rem; background: transparent; font-size: 0.8125rem; outline: none; }
cnc-pdf-viewer .bookmark-field:focus { border-color: var( --color-primary-500 , #3b82f6 ); }
cnc-pdf-viewer .bookmark-actions { background: var( --color-neutral-200 , #e5e7eb ); box-shadow: -1rem 0 0.75rem -0.25rem var( --color-neutral-200 , #e5e7eb ); }
.dark cnc-pdf-viewer .bookmark-actions { background: var( --color-neutral-700 , #374151 ); box-shadow: -1rem 0 0.75rem -0.25rem var( --color-neutral-700 , #374151 ); }
cnc-pdf-viewer .bookmark-swatch, cnc-pdf-viewer .bookmark-chip { flex: none; width: 0.875rem; height: 0.875rem; border-radius: 3px; background: var( --flag-color ); box-shadow: inset 0 0 0 1px rgb( 0 0 0 / 0.1 ); }
cnc-pdf-viewer .bookmark-swatch { padding: 0; border: 0; cursor: pointer; }
cnc-pdf-viewer .bookmark-swatch:hover, cnc-pdf-viewer .bookmark-swatch_active { outline: 2px solid var( --color-neutral-400 , #9ca3af ); outline-offset: 1px; }
cnc-pdf-viewer .bookmark-filter { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.125rem 0.5rem; border: 1px solid var( --color-neutral-300 , #d1d5db ); border-radius: 999px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
cnc-pdf-viewer .bookmark-filter:hover, cnc-pdf-viewer .bookmark-filter_on { border-color: var( --color-neutral-400 , #9ca3af ); }
.dark cnc-pdf-viewer .bookmark-filter { border-color: var( --color-neutral-600 , #4b5563 ); }
cnc-pdf-viewer .bookmark-filter .bookmark-chip { width: 0.625rem; height: 0.625rem; }
cnc-pdf-viewer .bookmark-filter-clear { margin-right: -0.125rem; line-height: 1; }
cnc-pdf-viewer .bookmark-filter-clear:hover { color: var( --color-neutral-900 , #111827 ); }
cnc-pdf-viewer .bookmark-filter-menu { display: flex; flex-direction: column; min-width: 9rem; translate: none; }
cnc-pdf-viewer .bookmark-filter-option { display: flex; align-items: center; gap: 0.5rem; padding: 0.25rem 0.5rem; border: 0; border-radius: 0.25rem; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
cnc-pdf-viewer .bookmark-filter-option:hover { background: var( --color-neutral-100 , #f3f4f6 ); }
cnc-pdf-viewer .bookmark-filter-option[aria-checked="true"] { font-weight: 600; }
.dark cnc-pdf-viewer .bookmark-filter-option:hover { background: var( --color-neutral-700 , #374151 ); }
}
@layer app-widgets {
cnc-plot { display: block; width: 100%; height: 100%; }
cnc-plot .range-bar-container { display: none; margin-top: 6px; }
cnc-plot[control] .range-bar-container { display: block; }
cnc-plot .range-track { position: relative; height: 20px; border-radius: 4px; overflow: hidden; background: #e2e8f0; cursor: crosshair; user-select: none; }
cnc-plot .range-fill { position: absolute; top: 0; height: 100%; border-radius: 4px; background: #38bdf8; opacity: 0.7; left: 0%; width: 100%; }
}
@layer app-widgets {
cnc-popup[shape="rounded"], cnc-popup:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-popup[shape="pill"] { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-popup[shape="circle"] { --shape-border-radius: 50%; }
cnc-popup[shape="square"], cnc-popup[shape="rectangle"] { --shape-border-radius: 0; }
cnc-popup[size="xxs"] { --content-font-size: 0.6875rem; }
cnc-popup[size="xs"] { --content-font-size: 0.75rem; }
cnc-popup[size="sm"] { --content-font-size: 0.8125rem; }
cnc-popup[size="md"], cnc-popup:not([size]) { --content-font-size: 0.875rem; }
cnc-popup[size="lg"] { --content-font-size: 1rem; }
cnc-popup[size="xl"] { --content-font-size: 1.125rem; }
cnc-popup[size="2xl"] { --content-font-size: 1.25rem; }
cnc-popup { --arrow-border-width: var( --content-border-width , 1px ); --content-border-radius: var( --shape-border-radius , 0 ); --content-border-width: 1px; --content-padding: 0; --popup-transition-duration: 120ms; --popup-transition-timing: ease-out; --popup-transform-origin: center; --popup-translate-y-closed: 0.125rem; --popup-scale-closed: 0.95; border-radius: var( --content-border-radius ); }
cnc-popup:not([kind]), cnc-popup[kind="filled"] { --content-bg: var( --color-neutral-50 , white ); --content-text-color: inherit; --content-border-color: rgb( 0 0 0 / 10% ); --content-shadow: rgba( 0 , 0 , 0 , 0.08 ) 0px 12px 16px -4px , rgba( 0 , 0 , 0 , 0.03 ) 0px 4px 6px -2px , rgba( 0 , 0 , 0 , 0.04 ) 0px 2px 2px -1px; --arrow-bg: var( --content-bg ); --arrow-border-color: var( --content-border-color ); }
.dark cnc-popup:not([kind]), .dark cnc-popup[kind="filled"] { --content-bg: var( --color-neutral-800 , rgb( 23 23 23 ) ); --content-border-color: rgb( 255 255 255 / 20% ); --content-shadow: 0 20px 25px -5px rgb( 0 0 0 / 30% ) , 0 8px 10px -6px rgb( 0 0 0 / 20% ); --arrow-bg: var( --content-bg ); --arrow-border-color: var( --content-border-color ); }
cnc-popup[kind="plain"], cnc-popup[plain="true"], cnc-popup[plain=""] { --content-bg: inherit; --content-text-color: inherit; --content-border-color: rgb( 0 0 0 / 10% ); --content-shadow: rgba( 0 , 0 , 0 , 0.08 ) 0px 12px 16px -4px , rgba( 0 , 0 , 0 , 0.03 ) 0px 4px 6px -2px , rgba( 0 , 0 , 0 , 0.04 ) 0px 2px 2px -1px; --arrow-border-color: var( --content-border-color ); }
.dark cnc-popup[kind="plain"], .dark cnc-popup[plain="true"], .dark cnc-popup[plain=""] { --content-bg: inherit; --content-text-color: inherit; --content-border-color: rgb( 255 255 255 / 20% ); --content-shadow: 0 20px 25px -5px rgb( 0 0 0 / 30% ) ,; }
cnc-popup .cnc-popup_content { padding: var( --content-padding ); color: var( --content-text-color ); background: var( --content-bg ); border: var( --content-border-width ) solid var( --content-border-color , inherit ); border-radius: var( --content-border-radius ); box-shadow: var( --content-shadow ); font-size: var( --content-font-size ); }
cnc-popup .cnc-popup_arrow { z-index: 1; inline-size: 10px; block-size: 10px; background-color: var( --arrow-bg ); border: 0 solid var( --arrow-border-color , inherit ); transform: rotate( 45deg ); }
cnc-popup[kind="plain"] .cnc-popup_arrow, cnc-popup[plain="true"] .cnc-popup_arrow, cnc-popup[plain=""] .cnc-popup_arrow { background-color: var( --arrow-bg , var( --content-bg ) ); }
cnc-popup .cnc-popup_arrow.arrow-bottom { border-top-width: var( --arrow-border-width ); border-left-width: var( --arrow-border-width ); }
cnc-popup .cnc-popup_arrow.arrow-top { border-right-width: var( --arrow-border-width ); border-bottom-width: var( --arrow-border-width ); }
cnc-popup .cnc-popup_arrow.arrow-left { border-top-width: var( --arrow-border-width ); border-right-width: var( --arrow-border-width ); }
cnc-popup .cnc-popup_arrow.arrow-right { border-bottom-width: var( --arrow-border-width ); border-left-width: var( --arrow-border-width ); }
cnc-popup .cnc-popup_wrapper.open { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d( 0 , 0 , 0 ) scale3d( 1 , 1 , 1 ) rotate( 0deg ); }
cnc-popup .cnc-popup_wrapper.close { visibility: visible; opacity: 0; pointer-events: none; transform: translate3d( 0 , var( --popup-translate-y-closed ) , 0 ) scale3d( var( --popup-scale-closed ) , var( --popup-scale-closed ) , var( --popup-scale-closed ) ) rotate( 0deg ); animation: cnc-popup-cnc-popup-hide 0s var( --popup-transition-duration ) forwards; }
cnc-popup .cnc-popup_wrapper { transform-origin: var( --popup-transform-origin ); transition: opacity var( --popup-transition-duration ) var( --popup-transition-timing ) , transform var( --popup-transition-duration ) var( --popup-transition-timing ); will-change: opacity , transform; }
cnc-popup .cnc-popup_wrapper.open { animation: none; }
cnc-popup[animation="none"] { --popup-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-popup { --popup-transition-duration: 0ms; }
}
@keyframes cnc-popup-cnc-popup-hide {
  to { visibility: hidden; }
}
}
@layer app-widgets {
cnc-print { display: inline-block; }
}
@layer app-widgets {
cnc-processing { display: block; }
cnc-processing .overlay { height: 100vh; background: rgba( 255 , 255 , 255 , 0.75 ); }
cnc-processing .spinner { animation: cnc-processing-spin 1s linear infinite; }
@keyframes cnc-processing-spin {
  from { transform: rotate( 0deg ); }
  to { transform: rotate( 360deg ); }
}
cnc-processing .content { width: 33%; }
}
@layer app-widgets {
cnc-progress-bar .track { border: 1px solid #cbd5e1; background: rgba( 100 , 116 , 139 , 0.15 ); box-shadow: 0 4px 6px rgba( 0 , 0 , 0 , 0.05 ); }
cnc-progress-bar .indicator { transition: width 0.3s ease; }
cnc-progress-bar .indicator.xs { height: calc(var(--spacing) * 2); }
cnc-progress-bar .indicator.sm { height: calc(var(--spacing) * 3); }
cnc-progress-bar .indicator.md { height: calc(var(--spacing) * 4); }
cnc-progress-bar .indicator.lg { height: calc(var(--spacing) * 5); }
cnc-progress-bar .indicator.xl { height: calc(var(--spacing) * 6); }
cnc-progress-bar .indicator[class~="2xl"] { height: calc(var(--spacing) * 8); }
}
@layer app-widgets {
cnc-qr { display: inline-block; }
}
@layer app-widgets {
cnc-qr-scanner video, cnc-qr-scanner #qr-shaded-region { border-radius: 10px !important; }
}
@layer widgets {
cnc-radios { --shape-border-radius: 50%; }
cnc-radios[size="xxs"] { --control-size: 0.75rem; --indicator-size: 0.25rem; --item-gap: 0.25rem; --list-gap-vertical: 0.25rem; --label-font-size: 0.75rem; --label-line-height: 1rem; }
cnc-radios[size="xs"] { --control-size: 0.875rem; --indicator-size: 0.3125rem; --item-gap: 0.25rem; --list-gap-vertical: 0.25rem; --label-font-size: 0.875rem; --label-line-height: 1.25rem; }
cnc-radios[size="sm"] { --control-size: 1rem; --indicator-size: 0.375rem; --item-gap: 0.375rem; --list-gap-vertical: 0.375rem; --label-font-size: 0.875rem; --label-line-height: 1.25rem; }
cnc-radios[size="md"], cnc-radios:not([size]) { --control-size: 1rem; --indicator-size: 0.375rem; --item-gap: 0.5rem; --list-gap-vertical: 0.375rem; --label-font-size: 1rem; --label-line-height: 1.5rem; }
cnc-radios[size="lg"] { --control-size: 1.25rem; --indicator-size: 0.5rem; --item-gap: 0.5rem; --list-gap-vertical: 0.5rem; --label-font-size: 1rem; --label-line-height: 1.5rem; }
cnc-radios[size="xl"] { --control-size: 1.25rem; --indicator-size: 0.5rem; --item-gap: 0.625rem; --list-gap-vertical: 0.625rem; --label-font-size: 1.125rem; --label-line-height: 1.75rem; }
cnc-radios[size="2xl"] { --control-size: 1.5rem; --indicator-size: 0.625rem; --item-gap: 0.75rem; --list-gap-vertical: 0.75rem; --label-font-size: 1.25rem; --label-line-height: 2rem; }
cnc-radios { --control-accent-color: var( --color-500 , var( --color-neutral-500 , #737373 ) ); --control-bg: var( --color-neutral-0 , white ); --control-bg-checked: var( --control-accent-color ); --control-border-color: var( --color-neutral-300 , #d4d4d4 ); --control-border-color-checked: var( --control-accent-color ); --control-border-radius: var( --shape-border-radius ); --control-border-width: 1px; --control-indicator-color: white; --control-indicator-size: var( --indicator-size , 0.375rem ); --control-focus-color: var( --color-500 , var( --color-primary-500 ) ); --control-focus-shadow: 0 0 0 2px var( --control-focus-color ); --control-click-scale: 0.875; --control-transition-duration: 150ms; --control-transition-timing: ease; --label-text-color: var( --color-neutral-700 , #262626 ); --label-description-color: var( --color-neutral-600 , #525252 ); --label-font-family: inherit; --label-font-weight: inherit; --label-description-font-size: 0.875em; --label-description-line-height: 1.4; --label-description-gap: 0.125rem; --container-opacity-disabled: 0.6; --list-gap-horizontal: 1rem; }
.dark cnc-radios { --control-bg: var( --color-neutral-950 , black ); --control-border-color: var( --color-neutral-600 , #525252 ); --control-focus-color: var( --color-200 , var( --color-primary-500 ) ); --label-text-color: var( --color-neutral-300 , #d4d4d4 ); --label-description-color: var( --color-neutral-400 , #a3a3a3 ); }
cnc-radios[kind="outline"] { --control-bg-checked: var( --control-bg ); --control-indicator-color: var( --control-accent-color ); --control-indicator-size: calc( var( --indicator-size ) * 1.5 ); }
cnc-radios[kind="filled"] { --label-text-color: var( --color-700 , var( --color-neutral-800 ) ); }
.dark cnc-radios[kind="filled"] { --label-text-color: var( --color-600 , var( --color-neutral-500 ) ); }
cnc-radios { display: flex; flex-direction: column; gap: var( --list-gap-vertical ); color: var( --label-text-color ); }
cnc-radios.horizontal, cnc-radios[horizontal] { column-gap: var( --list-gap-horizontal ); flex-direction: row; align-items: center; flex-wrap: wrap; }
cnc-radios .cnc-radios_item { gap: var( --item-gap ); }
cnc-radios .cnc-radios_control { -webkit-appearance: none; appearance: none; box-sizing: border-box; display: grid; place-content: center; inline-size: var( --control-size ); block-size: var( --control-size ); margin: 0; margin-block-start: calc( ( var( --label-line-height ) - var( --control-size ) ) / 2 ); background-color: var( --control-bg ); border: var( --control-border-width ) solid var( --control-border-color ); border-radius: var( --control-border-radius ); transition: background-color var( --control-transition-duration ) var( --control-transition-timing ) , border-color var( --control-transition-duration ) var( --control-transition-timing ) , box-shadow var( --control-transition-duration ) var( --control-transition-timing ) , transform var( --control-transition-duration ) var( --control-transition-timing ); }
cnc-radios .cnc-radios_control::after { content: ""; width: var( --control-indicator-size ); height: var( --control-indicator-size ); background-color: var( --control-indicator-color ); border-radius: 50%; opacity: 0; transform: scale( 0.5 ); transition: background-color var( --control-transition-duration ) var( --control-transition-timing ) , opacity var( --control-transition-duration ) var( --control-transition-timing ) , transform var( --control-transition-duration ) var( --control-transition-timing ); }
cnc-radios .cnc-radios_label { font-family: var( --label-font-family ); font-size: var( --label-font-size ); line-height: var( --label-line-height ); }
cnc-radios .cnc-radios_text { font-weight: var( --label-font-weight ); }
cnc-radios .cnc-radios_description { color: var( --label-description-color ); font-size: var( --label-description-font-size ); font-weight: 400; line-height: var( --label-description-line-height ); margin-block-start: var( --label-description-gap ); }
cnc-radios .cnc-radios_control:focus-visible { outline: none; box-shadow: var( --control-focus-shadow ); }
cnc-radios .cnc-radios_control:checked { background-color: var( --control-bg-checked ); border-color: var( --control-border-color-checked ); }
cnc-radios .cnc-radios_control:checked::after { opacity: 1; transform: scale( 1 ); }
cnc-radios .cnc-radios_control:active { transform: scale( var( --control-click-scale ) ); }
cnc-radios.disabled { cursor: not-allowed; opacity: var( --container-opacity-disabled ); }
cnc-radios.disabled .cnc-radios_item, cnc-radios.disabled .cnc-radios_control { cursor: not-allowed; }
cnc-radios.readonly { pointer-events: none; }
cnc-radios[animation="none"] { --control-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-radios { --control-transition-duration: 0ms; }
}
@media (forced-colors: active) {
cnc-radios .cnc-radios_control { appearance: auto; }
cnc-radios .cnc-radios_control::after { content: none; }
}
}
@layer app-widgets {
cnc-range { display: block; width: 100%; user-select: none; }
cnc-range .track-bg { height: 0.5rem; background: #cbd5e1; }
cnc-range .track-fill.default { background-color: var(--color-slate-400); }
cnc-range .track-fill.primary { background-color: var(--color-primary-500); }
cnc-range .track-fill.danger { background-color: var(--color-danger-500); }
cnc-range .track-fill.success { background-color: var(--color-success-500); }
cnc-range .track-fill.warning { background-color: var(--color-warning-500); }
cnc-range .track-fill.info { background-color: var(--color-info-500); }
cnc-range .thumb { top: 50%; transform: translate( -50% , -50% ); }
cnc-range .tooltip { left: 50%; transform: translateX( -50% ); bottom: 100%; margin-bottom: calc(var(--box-spacing) * 1); padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1); opacity: 0%; transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-duration: 150ms; }
cnc-range .thumb:hover .tooltip, cnc-range .thumb.dragging .tooltip { opacity: 100%; }
cnc-range .thumb.dragging { cursor: grabbing; }
cnc-range .thumb.default { background-color: var(--color-slate-300); }
cnc-range .thumb.primary { background-color: var(--color-primary-500); }
cnc-range .thumb.danger { background-color: var(--color-danger-500); }
cnc-range .thumb.success { background-color: var(--color-success-500); }
cnc-range .thumb.warning { background-color: var(--color-warning-500); }
cnc-range .thumb.info { background-color: var(--color-info-500); }
cnc-range .labels { position: relative; height: 1rem; margin-top: 0.5rem; }
cnc-range .label-value { transform: translateX( -50% ); }
cnc-range.disabled { cursor: not-allowed; opacity: var( --range-opacity-disabled , 0.6 ); }
cnc-range.readonly { cursor: default; }
cnc-range.disabled .range-wrapper, cnc-range.readonly .range-wrapper { pointer-events: none; }
}
@layer app-widgets {
cnc-rating { display: inline-flex; }
cnc-rating .rating { position: relative; display: inline-flex; align-items: center; border-radius: 0.25rem; outline: none; touch-action: none; user-select: none; }
cnc-rating .rating:focus-visible { box-shadow: 0 0 0 2px rgba( 59 , 130 , 246 , 0.5 ); }
cnc-rating .rating.disabled { opacity: 0.5; cursor: not-allowed; }
cnc-rating .rating.readonly { cursor: default; }
cnc-rating .symbols { display: inline-flex; white-space: nowrap; line-height: 0; }
cnc-rating .symbols > .star { margin-left: 0.125rem; transition: transform 0.15s; }
cnc-rating .symbols.background { color: var(--color-neutral-300); }
.dark cnc-rating .symbols.background { color: var(--color-neutral-600); }
cnc-rating .symbols.foreground { position: absolute; top: 0; left: 0; pointer-events: none; color: var(--color-primary-600); }
cnc-rating .rating:not(.disabled):not(.readonly) { cursor: pointer; }
}
@layer app-widgets {
cnc-scrollx { display: block; }
cnc-scrollx .carousel-content { scrollbar-width: none; scroll-behavior: smooth; }
cnc-scrollx .carousel-content::-webkit-scrollbar { display: none; }
cnc-scrollx .carousel-content.dragging { scroll-behavior: auto; cursor: grabbing; user-select: none; }
}
@layer app-widgets {
cnc-search { --control-bg: white; --control-border-color: var( --color-slate-300 ); --control-border-color-focus: var( --color-primary-500 ); --control-ring-color-focus: rgb( from var( --color-primary-500 ) r g b / 30% ); --control-border-radius: var( --radius-md , 0.375rem ); --control-padding-end: 0; --control-transition-duration: 150ms; --icon-padding-start: 0.75rem; --icon-color: var( --color-slate-400 ); --input-padding-y: 0.5rem; --input-padding-x: 0.5rem; --input-font-size: 0.875rem; --input-text-color: var( --color-slate-700 ); --input-placeholder-color: var( --color-slate-400 ); --button-padding-end: 0.5rem; --button-text-color: var( --color-slate-400 ); --button-text-color-hover: var( --color-slate-600 ); --list-margin-top: 0.25rem; --list-max-height: 14rem; --list-bg: white; --list-border-radius: var( --radius-md , 0.375rem ); --list-shadow: 0 10px 15px -3px rgb( 0 0 0 / 0.1 ) , 0 0 0 1px rgb( 0 0 0 / 0.05 ); --list-font-size: 0.875rem; --option-padding-y: 0.5rem; --option-padding-x: 0.75rem; --option-bg-hover: var( --color-slate-100 ); }
.dark cnc-search { --control-bg: var( --color-slate-800 ); --control-border-color: var( --color-slate-600 ); --icon-color: var( --color-slate-500 ); --input-text-color: var( --color-slate-200 ); --input-placeholder-color: var( --color-slate-500 ); --button-text-color-hover: var( --color-slate-300 ); --list-bg: var( --color-slate-700 ); --option-bg-hover: var( --color-slate-600 ); }
cnc-search .cnc-search_control { padding-inline-end: var( --control-padding-end ); background: var( --control-bg ); border: 1px solid var( --control-border-color ); border-radius: var( --control-border-radius ); transition: border-color var( --control-transition-duration ) , box-shadow var( --control-transition-duration ); }
cnc-search .cnc-search_icon { padding-inline-start: var( --icon-padding-start ); color: var( --icon-color ); }
cnc-search .cnc-search_input { padding: var( --input-padding-y ) var( --input-padding-x ); font-size: var( --input-font-size ); color: var( --input-text-color ); }
cnc-search .cnc-search_input::placeholder { color: var( --input-placeholder-color ); }
cnc-search .cnc-search_button { padding-inline-end: var( --button-padding-end ); color: var( --button-text-color ); }
cnc-search .cnc-search_list { margin-top: var( --list-margin-top ); max-height: var( --list-max-height ); background: var( --list-bg ); border-radius: var( --list-border-radius ); box-shadow: var( --list-shadow ); font-size: var( --list-font-size ); }
cnc-search .cnc-search_option { padding: var( --option-padding-y ) var( --option-padding-x ); }
cnc-search .cnc-search_control:focus-within { border-color: var( --control-border-color-focus ); box-shadow: 0 0 0 2px var( --control-ring-color-focus ); }
cnc-search .cnc-search_button:hover { color: var( --button-text-color-hover ); }
cnc-search .cnc-search_option:hover { background: var( --option-bg-hover ); }
}
@layer app-widgets {
cnc-select:not([size]) { --shape-border-radius-rounded: var( --radius-lg , 0.5rem ); }
cnc-select[shape="rounded"], cnc-select:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-select[shape="pill"] { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-select[shape="square"], cnc-select[shape="rectangle"] { --shape-border-radius: 0; }
cnc-select[size="xxs"] { --trigger-min-height: 1.75rem; --trigger-padding-x: 0.375rem; --trigger-padding-y: 0.25rem; --trigger-gap: 0.25rem; --trigger-font-size: 0.75rem; --trigger-line-height: 1rem; --icon-size: 0.75rem; --option-padding-x: 0.5rem; --option-padding-y: 0.25rem; }
cnc-select[size="xs"] { --trigger-min-height: 2rem; --trigger-padding-x: 0.5rem; --trigger-padding-y: 0.25rem; --trigger-gap: 0.25rem; --trigger-font-size: 0.875rem; --trigger-line-height: 1.25rem; --icon-size: 0.875rem; --option-padding-x: 0.625rem; --option-padding-y: 0.375rem; }
cnc-select[size="sm"] { --trigger-min-height: 2.25rem; --trigger-padding-x: 0.625rem; --trigger-padding-y: 0.25rem; --trigger-gap: 0.375rem; --trigger-font-size: 0.875rem; --trigger-line-height: 1.25rem; --icon-size: 1rem; --option-padding-x: 0.625rem; --option-padding-y: 0.5rem; }
cnc-select[size="md"], cnc-select:not([size]) { --trigger-min-height: 2.5rem; --trigger-padding-x: 0.75rem; --trigger-padding-y: 0.25rem; --trigger-gap: 0.75rem; --trigger-font-size: 1rem; --trigger-line-height: 1.5rem; --icon-size: 1rem; --option-padding-x: 0.75rem; --option-padding-y: 0.5rem; }
cnc-select[size="lg"] { --trigger-min-height: 2.75rem; --trigger-padding-x: 0.875rem; --trigger-padding-y: 0.375rem; --trigger-gap: 0.75rem; --trigger-font-size: 1rem; --trigger-line-height: 1.5rem; --icon-size: 1.25rem; --option-padding-x: 0.875rem; --option-padding-y: 0.625rem; }
cnc-select[size="xl"] { --trigger-min-height: 3rem; --trigger-padding-x: 1rem; --trigger-padding-y: 0.375rem; --trigger-gap: 0.875rem; --trigger-font-size: 1.125rem; --trigger-line-height: 1.75rem; --icon-size: 1.25rem; --option-padding-x: 1rem; --option-padding-y: 0.625rem; }
cnc-select[size="2xl"] { --trigger-min-height: 3.5rem; --trigger-padding-x: 1.25rem; --trigger-padding-y: 0.5rem; --trigger-gap: 1rem; --trigger-font-size: 1.25rem; --trigger-line-height: 2rem; --icon-size: 1.5rem; --option-padding-x: 1.25rem; --option-padding-y: 0.75rem; }
cnc-select { --trigger-bg: white; --trigger-bg-disabled: var( --color-neutral-100 , #f5f5f5 ); --trigger-text-color: var( --color-neutral-700 , #404040 ); --trigger-placeholder-color: var( --color-neutral-400 , #a3a3a3 ); --trigger-border-color: var( --color-neutral-300 , #d4d4d4 ); --trigger-border-color-focus: var( --color-500 , var( --color-primary-500 , #3b82f6 ) ); --trigger-border-color-invalid: var( --color-danger-600 , #dc2626 ); --trigger-border-radius: var( --shape-border-radius , var( --radius-lg , 0.5rem ) ); --trigger-shadow: inset 0 0 0 1px var( --trigger-border-color ) , 0 1px 2px rgb( 0 0 0 / 5% ); --trigger-shadow-focus: inset 0 0 0 2px var( --trigger-border-color-focus ); --trigger-shadow-invalid: inset 0 0 0 2px var( --trigger-border-color-invalid ); --trigger-opacity-disabled: 0.6; --trigger-transition-duration: 150ms; --trigger-transition-timing: ease; --icon-color: var( --color-neutral-500 , #737373 ); --icon-color-hover: var( --color-neutral-700 , #404040 ); --icon-opacity: 0.75; --clear-opacity: 0; --clear-opacity-container-hover: 0.5; --clear-opacity-hover: 1; --tag-bg: var( --color-neutral-100 , #f5f5f5 ); --tag-text-color: var( --color-neutral-700 , #404040 ); --tag-border-radius: 9999px; --tag-padding-x: 0.75rem; --tag-gap: 0.5rem; --dropdown-bg: white; --dropdown-border-color: rgb( 15 23 42 / 10% ); --dropdown-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); --dropdown-shadow: 0 10px 15px -3px rgb( 0 0 0 / 10% ) , 0 4px 6px -4px rgb( 0 0 0 / 10% ); --dropdown-max-height: 16rem; --dropdown-font-size: 0.875rem; --option-bg-hover: var( --color-neutral-100 , #f5f5f5 ); --option-bg-focus: var( --color-100 , var( --color-primary-100 , #dbeafe ) ); --option-text-color: var( --color-neutral-900 , #171717 ); --option-text-color-selected: var( --color-600 , var( --color-primary-600 , #2563eb ) ); --option-description-color: var( --color-neutral-500 , #737373 ); --option-count-color: var( --color-neutral-400 , #a3a3a3 ); --entry-border-color: var( --color-neutral-200 , #e5e5e5 ); }
.dark cnc-select { --trigger-bg: var( --color-neutral-900 , #171717 ); --trigger-bg-disabled: var( --color-neutral-800 , #262626 ); --trigger-text-color: var( --color-neutral-200 , #e5e5e5 ); --trigger-placeholder-color: var( --color-neutral-400 , #a3a3a3 ); --trigger-border-color: var( --color-neutral-600 , #525252 ); --trigger-border-color-focus: var( --color-300 , var( --color-primary-300 , #93c5fd ) ); --trigger-border-color-invalid: var( --color-danger-300 , #fca5a5 ); --icon-color: var( --color-neutral-300 , #d4d4d4 ); --icon-color-hover: var( --color-neutral-100 , #f5f5f5 ); --tag-bg: rgb( 163 163 163 / 20% ); --tag-text-color: var( --color-neutral-200 , #e5e5e5 ); --dropdown-bg: var( --color-neutral-800 , #262626 ); --dropdown-border-color: rgb( 255 255 255 / 20% ); --option-bg-hover: var( --color-neutral-900 , #171717 ); --option-bg-focus: var( --color-neutral-900 , #171717 ); --option-text-color: var( --color-neutral-100 , #f5f5f5 ); --option-text-color-selected: var( --color-300 , var( --color-primary-300 , #93c5fd ) ); --option-description-color: var( --color-neutral-400 , #a3a3a3 ); --option-count-color: var( --color-neutral-400 , #a3a3a3 ); --entry-border-color: var( --color-neutral-600 , #525252 ); }
cnc-select[kind="filled"] { --trigger-bg: var( --color-50 , var( --color-neutral-100 , #f5f5f5 ) ); --trigger-border-color: transparent; }
.dark cnc-select[kind="filled"] { --trigger-bg: var( --color-900 , var( --color-neutral-800 , #262626 ) ); --trigger-border-color: transparent; }
cnc-select[kind="plain"], cnc-select[plain] { --trigger-bg: transparent; --trigger-bg-disabled: transparent; --trigger-shadow: none; --trigger-shadow-focus: none; --trigger-shadow-invalid: inset 0 -2px 0 var( --trigger-border-color-invalid ); }
cnc-select { display: inline-block; vertical-align: top; }
cnc-select .cnc-select_container, cnc-select .cnc-select_drop { inline-size: 100%; }
cnc-select .cnc-select_trigger { min-block-size: var( --trigger-min-height ); padding: var( --trigger-padding-y ) var( --trigger-padding-x ); border: 0; border-radius: var( --trigger-border-radius ); background: var( --trigger-bg ); color: var( --trigger-text-color ); box-shadow: var( --trigger-shadow ); font-family: inherit; font-size: var( --trigger-font-size ); line-height: var( --trigger-line-height ); text-align: start; }
cnc-select .cnc-select_trigger-content { gap: var( --trigger-gap ); }
cnc-select .cnc-select_placeholder { color: var( --trigger-placeholder-color ); font-weight: 400; }
cnc-select .cnc-select_selected { min-inline-size: 0; }
cnc-select .cnc-select_selected-text, cnc-select .cnc-select_selected-label { color: var( --trigger-text-color ); }
cnc-select .cnc-select_option-label { color: inherit; }
cnc-select .cnc-select_description, cnc-select .cnc-select_option-description { color: var( --option-description-color ); font-size: 0.75rem; }
cnc-select .cnc-select_count, cnc-select .cnc-select_option-count { color: var( --option-count-color ); }
cnc-select .cnc-select_tag { gap: var( --tag-gap ); padding-inline: var( --tag-padding-x ); border-radius: var( --tag-border-radius ); background: var( --tag-bg ); color: var( --tag-text-color ); font-size: 0.875rem; line-height: 1.5rem; }
cnc-select .cnc-select_icon, cnc-select .cnc-select_caret, cnc-select .cnc-select_arrow { inline-size: var( --icon-size ); block-size: var( --icon-size ); min-inline-size: var( --icon-size ); color: var( --icon-color ); opacity: var( --icon-opacity ); transition: opacity var( --trigger-transition-duration ) var( --trigger-transition-timing ); }
cnc-select .cnc-select_clear { inline-size: var( --icon-size ); block-size: var( --icon-size ); min-inline-size: var( --icon-size ); color: var( --icon-color ); opacity: var( --clear-opacity ); transition: opacity var( --trigger-transition-duration ) var( --trigger-transition-timing ); }
cnc-select .cnc-select_container:hover .cnc-select_clear { opacity: var( --clear-opacity-container-hover ); }
cnc-select .cnc-select_container .cnc-select_clear:hover { opacity: var( --clear-opacity-hover ); }
cnc-select .cnc-select_entry-sizer { position: relative; display: inline-grid; align-items: center; margin: 0; border-block-end: 2px solid var( --entry-border-color ); vertical-align: top; }
cnc-select .cnc-select_entry-sizer::after, cnc-select .cnc-select_entry { grid-area: 1 / 1; min-inline-size: 0; inline-size: auto; margin: 0; padding: var( --trigger-padding-y ) 0; border: 0; border-radius: 0; outline: 0; background: transparent; color: var( --trigger-text-color ); box-shadow: none; font: inherit; resize: none; appearance: none; }
cnc-select .cnc-select_entry-sizer::after { content: attr( data-value ) " "; visibility: hidden; white-space: pre-wrap; }
cnc-select .cnc-select_dropdown { z-index: 51; max-block-size: var( --dropdown-max-height ); border-radius: var( --dropdown-border-radius ); background: var( --dropdown-bg ); box-shadow: var( --dropdown-shadow ) , inset 0 0 0 1px var( --dropdown-border-color ); color: var( --option-text-color ); font-size: var( --dropdown-font-size ); }
cnc-select .cnc-select_search { border-block-end: 1px solid var( --dropdown-border-color ); border-radius: 0; }
cnc-select .cnc-select_empty, cnc-select .cnc-select_option { padding: var( --option-padding-y ) var( --option-padding-x ); color: var( --option-text-color ); }
cnc-select .cnc-select_option-icon { inline-size: 0.75rem; block-size: 0.75rem; margin-inline-end: 0.5rem; }
cnc-select .cnc-select_options { max-block-size: var( --dropdown-max-height ); }
cnc-select .cnc-select_hint { color: var( --icon-color ); }
cnc-select .cnc-select_trigger:focus-visible, cnc-select .cnc-select_trigger:focus-within { z-index: 10; outline: none; box-shadow: var( --trigger-shadow-focus ); }
cnc-select .cnc-select_trigger[data-invalid="true"] { box-shadow: var( --trigger-shadow-invalid ); }
cnc-select.disabled { cursor: not-allowed; }
cnc-select.disabled .cnc-select_trigger { background: var( --trigger-bg-disabled ); cursor: not-allowed; opacity: var( --trigger-opacity-disabled ); }
cnc-select.readonly .cnc-select_container, cnc-select.disabled .cnc-select_container { pointer-events: none; }
cnc-select .cnc-select_clear:hover, cnc-select .cnc-select_arrow:hover, cnc-select .cnc-select_caret:hover { color: var( --icon-color-hover ); opacity: 1; }
cnc-select .cnc-select_option:hover, cnc-select .cnc-select_empty:hover { background: var( --option-bg-hover ); }
cnc-select .cnc-select_option:focus-visible { outline: none; background: var( --option-bg-focus ); }
cnc-select .cnc-select_option[data-selected="true"] { color: var( --option-text-color-selected ); }
cnc-select[animation] .cnc-select_trigger, cnc-select[animation] .cnc-select_option, cnc-select[animation] .cnc-select_clear, cnc-select[animation] .cnc-select_arrow, cnc-select[animation] .cnc-select_caret { transition: background-color var( --trigger-transition-duration ) var( --trigger-transition-timing ) , color var( --trigger-transition-duration ) var( --trigger-transition-timing ) , box-shadow var( --trigger-transition-duration ) var( --trigger-transition-timing ) , opacity var( --trigger-transition-duration ) var( --trigger-transition-timing ); }
cnc-select[animation="none"] { --trigger-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-select { --trigger-transition-duration: 0ms; }
}
}
@layer app-widgets {
cnc-select-tree { display: block; }
cnc-select-tree .select-tree-trigger:focus-within { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-primary-500); }
cnc-select-tree[disabled] .select-tree-trigger { background-color: var(--color-slate-100); cursor: not-allowed; opacity: 60%; }
.dark cnc-select-tree[disabled] .select-tree-trigger { background-color: var(--color-slate-800); }
cnc-select-tree[readonly] .select-tree-trigger { background-color: var(--color-slate-100); pointer-events: none; }
.dark cnc-select-tree[readonly] .select-tree-trigger { background-color: var(--color-slate-800); }
cnc-select-tree .select-tree-children { border-left: 1px solid; margin-left: 12px; padding-left: 8px; border-color: var(--color-slate-200); }
.dark cnc-select-tree .select-tree-children { border-color: var(--color-slate-600); }
cnc-select-tree .select-tree-toggle { transition: transform 0.15s; }
cnc-select-tree .select-tree-node.collapsed > .select-tree-item .select-tree-toggle { transform: rotate( -90deg ); }
}
@layer app-widgets {
cnc-signature { display: block; }
cnc-signature .sig-tool-btn { padding: calc(var(--box-spacing) * 1.5); border-radius: 0.25rem; cursor: pointer; color: var(--color-slate-500); }
cnc-signature .sig-tool-btn:hover:not(:disabled) { color: var(--color-primary-600); }
cnc-signature .sig-tool-btn:disabled, cnc-signature .sig-btn:disabled { opacity: 30%; cursor: default; }
cnc-signature .sig-tool-btn.active { color: var(--color-primary-600); background-color: var(--color-primary-100); }
.dark cnc-signature .sig-tool-btn.active { color: var(--color-primary-400); background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
}
@layer app-widgets {
cnc-skeleton { --sheen-start: #cbd5e1; --sheen-mid: #e2e8f0; --sheen-end: #94a3b8; display: block; position: relative; }
.dark cnc-skeleton { --sheen-start: #475569; --sheen-mid: #64748b; --sheen-end: #334155; }
cnc-skeleton .skeleton { flex: 1 1 auto; min-height: 1rem; }
cnc-skeleton .skeleton.square { border-radius: 0.25rem; }
cnc-skeleton .skeleton.circle { border-radius: calc(infinity * 1px); }
cnc-skeleton .skeleton.triangle { border-radius: 0; clip-path: polygon( 50% 0 , 0 100% , 100% 100% ); }
cnc-skeleton .skeleton.cross { border-radius: 0; clip-path: polygon( 20% 0% , 0% 20% , 30% 50% , 0% 80% , 20% 100% , 50% 70% , 80% 100% , 100% 80% , 70% 50% , 100% 20% , 80% 0% , 50% 30% ); }
cnc-skeleton .skeleton.comment { border-radius: 0; clip-path: polygon( 0% 0% , 100% 0% , 100% 75% , 75% 75% , 75% 100% , 50% 75% , 0% 75% ); }
cnc-skeleton .skeleton.pulse { animation: cnc-skeleton-pulse 2s cubic-bezier( 0.4 , 0 , 0.6 , 1 ) infinite; }
cnc-skeleton .skeleton.sheen { background: linear-gradient( 90deg , var( --sheen-start ) 0% , var( --sheen-mid ) 48% , var( --sheen-end ) 100% ); background-size: 400% 100%; animation: cnc-skeleton-sheen 8s linear infinite; }
@keyframes cnc-skeleton-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
@keyframes cnc-skeleton-sheen {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
}
@layer app-widgets {
cnc-slider { display: block; width: 100%; user-select: none; }
cnc-slider .track-bg { height: 0.5rem; background: #cbd5e1; }
cnc-slider .track-fill.default { background-color: var(--color-slate-400); }
cnc-slider .track-fill.primary { background-color: var(--color-primary-500); }
cnc-slider .track-fill.danger { background-color: var(--color-danger-500); }
cnc-slider .track-fill.success { background-color: var(--color-success-500); }
cnc-slider .track-fill.warning { background-color: var(--color-warning-500); }
cnc-slider .track-fill.info { background-color: var(--color-info-500); }
cnc-slider .thumb { top: 50%; transform: translate( -50% , -50% ); }
cnc-slider .thumb.dragging { cursor: grabbing; }
cnc-slider .thumb.default { background-color: var(--color-slate-300); }
cnc-slider .thumb.primary { background-color: var(--color-primary-500); }
cnc-slider .thumb.danger { background-color: var(--color-danger-500); }
cnc-slider .thumb.success { background-color: var(--color-success-500); }
cnc-slider .thumb.warning { background-color: var(--color-warning-500); }
cnc-slider .thumb.info { background-color: var(--color-info-500); }
cnc-slider .tooltip { left: 50%; transform: translateX( -50% ); bottom: 100%; margin-bottom: calc(var(--box-spacing) * 1); padding-inline: calc(var(--box-spacing) * 2); padding-block: calc(var(--box-spacing) * 1); opacity: 0%; transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); transition-duration: 150ms; }
cnc-slider .thumb:hover .tooltip, cnc-slider .thumb.dragging .tooltip { opacity: 100%; }
cnc-slider .label-value { transform: translateX( -50% ); }
cnc-slider .labels { position: relative; height: 1rem; margin-top: 0.5rem; }
cnc-slider.disabled { cursor: not-allowed; opacity: var( --slider-opacity-disabled , 0.6 ); }
cnc-slider.readonly { cursor: default; }
cnc-slider.disabled .slider-wrapper, cnc-slider.readonly .slider-wrapper { pointer-events: none; }
}
@layer widgets {
cnc-slides { display: block; width: 100%; height: 100%; overflow: hidden; }
cnc-slides .slides-container { width: 100%; height: 100%; }
cnc-slides .all-slides { width: 0; height: 0; visibility: hidden; position: absolute; overflow: hidden; }
cnc-slides .viewport { width: 100%; height: 100%; overflow: hidden; }
cnc-slides .track { transition: transform 0.3s ease; display: flex; height: 100%; }
}
@layer app-widgets {
cnc-sort-view .sort-view { display: flex; align-items: center; position: relative; }
cnc-sort-view .sort-trigger { display: flex; align-items: center; cursor: pointer; gap: calc(var(--spacing) * 1); }
cnc-sort-view .sort-icon { color: var(--color-neutral-500); }
.dark cnc-sort-view .sort-icon { color: var(--color-neutral-400); }
cnc-sort-view .sort-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-medium); color: var(--color-neutral-900); }
.dark cnc-sort-view .sort-label { color: var(--color-neutral-100); }
cnc-sort-view .sort-summary { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-neutral-900); }
.dark cnc-sort-view .sort-summary { color: var(--color-neutral-100); }
cnc-sort-view .sort-direction-icon { color: var(--color-neutral-600); margin-left: calc(var(--box-spacing) * 0.5); }
.dark cnc-sort-view .sort-direction-icon { color: var(--color-neutral-300); }
cnc-sort-view .sort-dropdown { position: absolute; top: 100%; left: 0px; margin-top: calc(var(--box-spacing) * 1); background-color: var(--color-white); border-width: 1px; border-style: var(--tw-border-style); border-color: var(--color-neutral-200); border-radius: 0.25rem; --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); z-index: 50; min-width: 160px; }
.dark cnc-sort-view .sort-dropdown { background-color: var(--color-neutral-800); border-color: var(--color-neutral-700); }
cnc-sort-view .sort-item { display: flex; align-items: center; justify-content: space-between; padding-block: calc(var(--box-spacing) * 2); padding-inline: calc(var(--box-spacing) * 3); cursor: pointer; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-neutral-700); }
.dark cnc-sort-view .sort-item { color: var(--color-neutral-200); }
cnc-sort-view .sort-item:hover { background-color: var(--color-neutral-100); color: var(--color-primary-600); }
.dark cnc-sort-view .sort-item:hover { background-color: var(--color-neutral-700); color: var(--color-primary-400); }
cnc-sort-view .sort-item-icon { margin-left: calc(var(--box-spacing) * 3); color: var(--color-neutral-400); }
.dark cnc-sort-view .sort-item-icon { color: var(--color-neutral-500); }
cnc-sort-view .fill-active { color: var(--color-neutral-600); }
.dark cnc-sort-view .fill-active { color: var(--color-neutral-300); }
cnc-sort-view .fill-muted { color: var(--color-neutral-300); }
.dark cnc-sort-view .fill-muted { color: var(--color-neutral-600); }
}
@layer app-widgets {
cnc-sparkbar { display: block; width: 100%; height: 100%; }
cnc-sparkbar .container { width: 100%; height: 100%; overflow: hidden; display: flex; justify-content: flex-end; }
cnc-sparkbar .chart { fill: var( --color-primary-500 ); stroke: var( --color-primary-500 ); width: 100%; height: 100%; }
}
@layer app-widgets {
cnc-sparkline { display: block; width: 100%; height: 100%; }
cnc-sparkline .container { width: 100%; height: 100%; overflow: hidden; display: flex; justify-content: flex-end; }
cnc-sparkline .chart { width: 100%; height: 100%; }
cnc-sparkline .fill-area { fill: rgba( 14 , 165 , 233 , 0.2 ); }
cnc-sparkline .line { fill: none; stroke: var( --color-primary-500 ); stroke-linecap: round; }
}
@layer app-widgets {
cnc-speach2text { position: absolute; display: flex; flex-direction: column; z-index: 10; touch-action: none; }
cnc-speach2text .recorder { display: flex; gap: calc(var(--spacing) * 2); align-items: center; justify-content: center; }
cnc-speach2text .mic-area { color: var( --color-primary-500 ); position: relative; cursor: pointer; display: flex; }
cnc-speach2text .mic-icon { transition: color 0.2s; margin: calc(var(--box-spacing) * 3); z-index: 10; }
cnc-speach2text .mic-icon.recording { color: #ef4444; animation: cnc-speach2text-pulse 2s cubic-bezier( 0.4 , 0 , 0.6 , 1 ) infinite; }
cnc-speach2text .mic-icon.recording.silence { opacity: 0.5; }
@keyframes cnc-speach2text-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
cnc-speach2text .spinner-ring { color: var( --color-primary-700 ); position: absolute; width: 100%; height: 100%; }
cnc-speach2text .spinner-ring.spinning { animation: cnc-speach2text-spin 1s linear infinite; }
@keyframes cnc-speach2text-spin {
  from { transform: rotate( 0deg ); }
  to { transform: rotate( 360deg ); }
}
cnc-speach2text .ring-bg { opacity: 0.25; }
cnc-speach2text .ring-arc { opacity: 0.75; display: none; }
}
@layer app-widgets {
cnc-steps .steps-horizontal { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; width: 100%; }
cnc-steps .step-h { display: flex; align-items: center; cursor: pointer; }
cnc-steps .step-h.has-line { flex: 1; }
cnc-steps .step-h.has-line::after { content: ""; height: 4px; border-radius: 2px; flex: 1; margin-inline: calc(var(--box-spacing) * 2); }
cnc-steps .step-h.completed.has-line::after { background-color: var(--color-primary-500); }
cnc-steps .step-h.active.has-line::after, cnc-steps .step-h.pending.has-line::after { background-color: var(--color-slate-200); }
.dark cnc-steps .step-h.active.has-line::after, .dark cnc-steps .step-h.pending.has-line::after { background-color: var(--color-slate-700); }
cnc-steps .step-h-dot { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); border-radius: calc(infinity * 1px); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
cnc-steps .step-h-dot.completed { background-color: var(--color-primary-100); color: var(--color-primary-600); }
.dark cnc-steps .step-h-dot.completed { background-color: var(--color-primary-900); color: var(--color-primary-400); }
cnc-steps .step-h-dot.active { background-color: var(--color-primary-500); color: var(--color-white); }
cnc-steps .step-h-dot.pending { background-color: var(--color-slate-100); border-width: 2px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); color: var(--color-slate-500); }
.dark cnc-steps .step-h-dot.pending { background-color: var(--color-slate-700); border-color: var(--color-slate-600); color: var(--color-slate-400); }
cnc-steps .step-h-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-medium); margin-left: calc(var(--box-spacing) * 2); white-space: nowrap; color: var(--color-slate-600); }
.dark cnc-steps .step-h-label { color: var(--color-slate-300); }
cnc-steps .step-icon { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); display: flex; align-items: center; justify-content: center; }
cnc-steps .step-icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
cnc-steps .step-number { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-bold); }
cnc-steps .steps-vertical { list-style: none; padding: 0; margin: 0; position: relative; margin-left: calc(var(--box-spacing) * 4); border-left-width: 4px; border-left-style: var(--tw-border-style); border-color: var(--color-slate-200); }
.dark cnc-steps .steps-vertical { border-color: var(--color-slate-700); }
cnc-steps .step-v { margin-left: -18px; margin-bottom: calc(var(--box-spacing) * 8); display: flex; align-items: center; gap: calc(var(--spacing) * 3); cursor: pointer; }
cnc-steps .step-v-dot { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); border-radius: calc(infinity * 1px); display: flex; align-items: center; justify-content: center; flex-shrink: 0; outline-style: var(--tw-outline-style); outline-width: 1px; outline-style: var(--tw-outline-style); outline-width: 4px; outline-color: var(--color-neutral-100); }
.dark cnc-steps .step-v-dot { outline-color: var(--color-neutral-900); }
cnc-steps .step-v-dot.completed { background-color: var(--color-primary-100); color: var(--color-primary-600); }
.dark cnc-steps .step-v-dot.completed { background-color: var(--color-primary-900); color: var(--color-primary-400); }
cnc-steps .step-v-dot.active { background-color: var(--color-primary-500); color: var(--color-white); }
cnc-steps .step-v-dot.pending { background-color: var(--color-slate-50); border-width: 2px; border-style: var(--tw-border-style); border-color: var(--color-slate-300); color: var(--color-slate-500); }
.dark cnc-steps .step-v-dot.pending { background-color: var(--color-slate-800); border-color: var(--color-slate-600); color: var(--color-slate-400); }
cnc-steps .step-v-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-medium); color: var(--color-slate-600); }
.dark cnc-steps .step-v-label { color: var(--color-slate-300); }
}
@layer app-widgets {
cnc-switch { line-height: 1; display: inline-flex; align-items: center; }
cnc-switch .switch-wrapper.readonly { pointer-events: none; }
cnc-switch .track { border: 2px solid transparent; transition: background-color 0.2s ease-in-out; }
cnc-switch .track:focus { outline: 2px solid var( --color-primary-500 ); outline-offset: 2px; }
cnc-switch .track.on { background-color: var(--color-primary-600); }
cnc-switch .track.off { background-color: var(--color-slate-300); }
.dark cnc-switch .track.off { background-color: var(--color-slate-600); }
cnc-switch .track:disabled { opacity: 70%; cursor: not-allowed; }
cnc-switch .thumb { box-shadow: 0 1px 3px rgba( 0 , 0 , 0 , 0.2 ); transition: transform 0.2s ease-in-out; }
cnc-switch .thumb.on { transform: translateX( 1.25rem ); }
cnc-switch .thumb.off { transform: translateX( 0 ); }
cnc-switch .switch-wrapper.disabled .label { cursor: not-allowed; opacity: 50%; }
}
@layer app-widgets {
cnc-tabbar { display: block; }
cnc-tabbar .tabbar { z-index: 999; }
cnc-tabbar .tabbar-item { width: 100%; text-align: center; cursor: pointer; padding-block: calc(var(--box-spacing) * 1); }
cnc-tabbar .tabbar-link { text-decoration: none !important; }
cnc-tabbar .tabbar-item-content { display: flex; flex-direction: column; align-items: center; padding-block: calc(var(--box-spacing) * 2); color: var(--color-slate-500); }
.dark cnc-tabbar .tabbar-item-content { color: var(--color-slate-400); }
cnc-tabbar .tabbar-item-content.active { color: var(--color-primary-600); }
.dark cnc-tabbar .tabbar-item-content.active { color: var(--color-primary-400); }
cnc-tabbar .tabbar-icon { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); margin-inline: auto; display: flex; align-items: center; justify-content: center; }
cnc-tabbar .tabbar-icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
cnc-tabbar .tabbar-label { display: block; font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); margin-top: calc(var(--box-spacing) * 1); }
cnc-tabbar .tabbar-badge-wrap { position: relative; display: inline-flex; }
cnc-tabbar .tabbar-badge { font-size: 0.6rem; line-height: 1; position: absolute; top: calc(var(--spacing) * -1); right: calc(var(--spacing) * -1); min-width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); padding-inline: calc(var(--box-spacing) * 1); border-radius: calc(infinity * 1px); background-color: var(--color-danger-500); color: var(--color-white); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); display: flex; align-items: center; justify-content: center; }
}
@layer app-widgets {
cnc-table .header { padding: 0.625rem 0.75rem; z-index: 2; position: relative; }
cnc-table .header-label { text-overflow: ellipsis; }
cnc-table .sort-arrows { gap: 1px; display: inline-flex; flex-direction: column; align-items: center; --tw-leading: var(--leading-none); line-height: var(--leading-none); }
cnc-table .sort-arrow-up, cnc-table .sort-arrow-down { font-size: 0.5rem; line-height: 1; color: var(--color-slate-300); }
.dark cnc-table .sort-arrow-up, .dark cnc-table .sort-arrow-down { color: var(--color-slate-600); }
cnc-table .sort-arrow-up.active, cnc-table .sort-arrow-down.active { color: var(--color-primary-500); }
cnc-table .resize-handle { width: 4px; cursor: col-resize; position: absolute; right: 0px; top: 0px; height: 100%; }
cnc-table .resize-handle:hover { background-color: var(--color-slate-300); }
.dark cnc-table .resize-handle:hover { background-color: var(--color-slate-600); }
cnc-table .cell { padding: 0.5rem 0.75rem; text-overflow: ellipsis; }
cnc-table .cell:hover { background-color: var(--color-slate-50); }
.dark cnc-table .cell:hover { background-color: color-mix(in oklab, var(--color-slate-700) 30%, transparent); }
}
@layer app-widgets {
cnc-table2 { border: 1px solid var( --color-neutral-200 , #e5e5e5 ); border-radius: 0.625rem; background: var( --color-neutral-50 , white ); }
cnc-table2 .header, cnc-table2 .cell { min-width: 0; border-bottom: 1px solid var( --color-neutral-200 , #e5e5e5 ); padding: 0.7rem 0.75rem; }
cnc-table2 .header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 0.35rem; background: var( --color-neutral-100 , #fafafa ); color: var( --color-neutral-500 , #737373 ); font-size: 0.75rem; font-weight: 600; }
cnc-table2 .header[data-sortable] { cursor: pointer; }
cnc-table2 .cell { display: flex; align-items: center; gap: 0.45rem; color: var( --color-neutral-700 , #404040 ); font-size: 0.875rem; }
cnc-table2 .cell:hover, cnc-table2 .cell.selected { background: color-mix( in srgb , var( --color-primary-500 ) 8% , transparent ); }
cnc-table2 .resize-handle { position: absolute; inset-block: 0; inset-inline-end: 0; width: 4px; cursor: col-resize; }
.dark cnc-table2 { background: var( --color-neutral-900 , #171717 ); }
.dark cnc-table2 .header { background: var( --color-neutral-800 , #262626 ); }
.dark cnc-table2 .header, .dark cnc-table2 .cell { border-color: var( --color-neutral-700 , #404040 ); color: var( --color-neutral-200 , #e5e5e5 ); }
}
@layer app-widgets {
cnc-table5:where([shape="square"], [shape="rectangle"], :not([shape])) { --shape-border-radius: 0; }
cnc-table5:where([shape="rounded"]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-table5:where([shape="soft"]) { --shape-border-radius: var( --shape-border-radius-soft , var( --radius-md , 0.375rem ) ); }
cnc-table5:where([size="sm"]) { --column-header-padding-x: calc( var( --spacing ) * 3 ); --column-header-padding-y: calc( var( --spacing ) * 2 ); --column-header-font-size: var( --text-xs ); --cell-padding-x: calc( var( --spacing ) * 3 ); --cell-padding-y: calc( var( --spacing ) * 1 ); --cell-font-size: var( --text-sm ); --cell-line-height: var( --text-sm--line-height ); }
cnc-table5:where([size="md"], :not([size])) { --column-header-padding-x: calc( var( --spacing ) * 4 ); --column-header-padding-y: calc( var( --spacing ) * 3.5 ); --column-header-font-size: var( --text-sm ); --cell-padding-x: calc( var( --spacing ) * 2 ); --cell-padding-y: calc( var( --spacing ) * 2 ); --cell-font-size: initial; --cell-line-height: initial; }
cnc-table5:where([size="lg"]) { --column-header-padding-x: calc( var( --spacing ) * 6 ); --column-header-padding-y: calc( var( --spacing ) * 4 ); --column-header-font-size: var( --text-sm ); --cell-padding-x: calc( var( --spacing ) * 6 ); --cell-padding-y: calc( var( --spacing ) * 4 ); --cell-font-size: var( --text-base ); --cell-line-height: var( --text-base--line-height ); }
cnc-table5 { --column-width-min: 5em; --wrapper-padding-x: 0; --container-bg: transparent; --container-border-color: var( --color-neutral-300 ); --container-border-radius: var( --shape-border-radius , 0 ); --container-shadow: none; --column-header-bg: var( --color-neutral-50 ); --column-header-text-color: var( --color-neutral-900 ); --column-header-font-weight: var( --font-weight-semibold ); --column-header-line-height: calc( var( --spacing ) * 5 ); --column-header-border-right-color: var( --color-neutral-200 ); --column-header-border-bottom-color: color-mix( in oklab , var( --color-black ) 10% , transparent ); --column-header-padding-x-condensed: calc( var( --spacing ) * 2 ); --cell-bg: transparent; --cell-text-color: initial; --cell-border-color: transparent; --indicator-size: calc( var( --spacing ) * 3 ); --handle-width: calc( var( --spacing ) * 1 ); --handle-bg-hover: var( --color-neutral-200 ); }
@media (min-width: 48rem) {
cnc-table5[data-inset] { --wrapper-padding-x: calc( var( --spacing ) * 6 ); }
}
@media (min-width: 64rem) {
cnc-table5[data-inset] { --wrapper-padding-x: calc( var( --spacing ) * 8 ); }
}
.dark cnc-table5 { --column-header-bg: var( --color-neutral-900 ); --column-header-text-color: var( --color-neutral-500 ); --column-header-border-right-color: var( --color-neutral-700 ); --handle-bg-hover: var( --color-neutral-700 ); }
cnc-table5 { padding-inline: var( --wrapper-padding-x ); }
cnc-table5 .cnc-table5_container { background: var( --container-bg ); border: 1px solid var( --container-border-color ); border-radius: var( --container-border-radius ); box-shadow: var( --container-shadow ); }
cnc-table5 .cnc-table5_content { min-width: 777px; display: grid; grid-template-columns: repeat( calc( var( --columns-count ) + 1 ) , max-content ); grid-template-rows: repeat( auto-fit , minmax( 1.5em , auto ) ); grid-row-gap: 0; grid-column-gap: 0; align-items: center; align-content: stretch; min-height: 0; min-width: 0; }
cnc-table5 .cnc-table5_column-header { padding: var( --column-header-padding-y ) var( --column-header-padding-x ); background: var( --column-header-bg ); color: var( --column-header-text-color ); font-size: var( --column-header-font-size ); font-weight: var( --column-header-font-weight ); line-height: var( --column-header-line-height ); border-right: 1px solid var( --column-header-border-right-color ); border-bottom: 1px solid var( --column-header-border-bottom-color ); white-space: nowrap; text-overflow: ellipsis; height: 100%; z-index: 22; }
cnc-table5 .cnc-table5_column-header[data-condensed="true"] { padding-inline: var( --column-header-padding-x-condensed ); }
cnc-table5 .cnc-table5_column-header:first-of-type { border-top-left-radius: calc( var( --container-border-radius ) - 1px ); }
cnc-table5 .cnc-table5_column-header:not(:has(~ .cnc-table5_column-header)) { border-top-right-radius: calc( var( --container-border-radius ) - 1px ); }
cnc-table5 .cnc-table5_indicator { display: inline-block; inline-size: var( --indicator-size ); block-size: var( --indicator-size ); }
cnc-table5 .cnc-table5_handle { inline-size: var( --handle-width ); }
cnc-table5 .cnc-table5_handle:hover { background: var( --handle-bg-hover ); }
cnc-table5 .cnc-table5_cell { padding: var( --cell-padding-y ) var( --cell-padding-x ); background: var( --cell-bg ); color: var( --cell-text-color ); font-size: var( --cell-font-size ); line-height: var( --cell-line-height ); border-bottom: 1px solid var( --cell-border-color ); display: grid; grid-template-columns: repeat( auto-fit , 1fr ); height: 100%; align-items: center; }
cnc-table5 .cnc-table5_row:last-of-type .cnc-table5_cell { border-bottom-width: 0; }
cnc-table5 .cnc-table5_row:hover .cnc-table5_cell { color: var( --cell-text-color-hover , var( --cell-text-color ) ); background: var( --cell-bg-hover , var( --cell-bg ) ); }
cnc-table5 .fixed-left { position: sticky; left: 0; z-index: 23; }
cnc-table5 .cnc-table5_column-header.fixed-left { z-index: 24; }
cnc-table5 .fixed-right { position: sticky; right: 0; z-index: 23; }
cnc-table5 .cnc-table5_column-header.fixed-right { z-index: 24; }
cnc-table5 cnc-link:hover { text-decoration: underline; }
}
@layer widgets {
cnc-tabs[size="sm"] { --shape-border-radius-rounded: var( --radius-sm , 0.25rem ); }
cnc-tabs[size="md"], cnc-tabs:not([size]) { --shape-border-radius-rounded: var( --radius-md , 0.375rem ); }
cnc-tabs[size="lg"] { --shape-border-radius-rounded: var( --radius-lg , 0.5rem ); }
cnc-tabs:where([shape="square"], [shape="rectangle"]) { --shape-border-radius: 0; }
cnc-tabs:where([shape="pill"]) { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-tabs:where([shape="rounded"]), cnc-tabs:where(:not([shape])) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-md , 0.375rem ) ); }
cnc-tabs[size="sm"] { --item-height: 1.75rem; --item-padding: 0 0.5rem; --item-gap: 0.25rem; --item-font-size: 0.8125rem; --item-line-height: 1.125rem; --list-gap: 0.125rem; --icon-size: 0.875rem; --control-size: 0.75rem; --indicator-size: 0.125rem; --panel-padding: 0.75rem; }
cnc-tabs[size="md"], cnc-tabs:not([size]) { --item-height: 2.25rem; --item-padding: 0 0.75rem; --item-gap: 0.375rem; --item-font-size: 0.875rem; --item-line-height: 1.25rem; --list-gap: 0.25rem; --icon-size: 1rem; --control-size: 0.875rem; --indicator-size: 0.125rem; --panel-padding: 1rem; }
cnc-tabs[size="lg"] { --item-height: 2.75rem; --item-padding: 0 1rem; --item-gap: 0.5rem; --item-font-size: 1rem; --item-line-height: 1.5rem; --list-gap: 0.25rem; --icon-size: 1.25rem; --control-size: 1rem; --indicator-size: 0.1875rem; --panel-padding: 1.25rem; }
cnc-tabs { --item-font-weight: 600; --item-border-width: 0; --item-border-color: transparent; --item-border-color-selected: transparent; --item-border-radius: 0; --item-bg: transparent; --item-bg-hover: transparent; --item-bg-selected: transparent; --item-shadow-selected: none; --item-flex: 0 0 auto; --list-padding: 0; --list-bg: transparent; --list-border-width: 0; --list-border-color: transparent; --list-border-radius: 0; --list-align: stretch; --list-shadow-gutter: 0px; --indicator-color: transparent; --indicator-color-selected: transparent; --icon-color: currentColor; --control-color: currentColor; --panel-bg: transparent; --panel-border-width: 0; --panel-border-color: transparent; --panel-border-radius: 0; --scroll-size: 1.375rem; --scroll-bg: rgb( 255 255 255 / 0.82 ); --scroll-bg-hover: rgb( 255 255 255 / 0.95 ); --scroll-color: var( --color-neutral-600 , #414651 ); --scroll-color-hover: var( --color-neutral-900 , #181d27 ); --scroll-shadow: 0 1px 4px rgb( 0 0 0 / 0.18 ); --transition-duration: 150ms; --transition-timing: linear; }
.dark cnc-tabs { --scroll-bg: rgb( 40 40 40 / 0.85 ); --scroll-bg-hover: rgb( 55 55 55 / 0.95 ); --scroll-color: var( --color-neutral-300 , #d1d5db ); --scroll-color-hover: var( --color-neutral-100 , #f0f0f0 ); --scroll-shadow: 0 1px 4px rgb( 0 0 0 / 0.45 ); }
cnc-tabs[kind="line"], cnc-tabs:not([kind]) { --list-border-width: 1px; --list-border-color: var( --color-neutral-200 , #e5e5e5 ); --item-text-color: var( --color-neutral-500 , #737373 ); --item-text-color-hover: var( --color-neutral-700 , #404040 ); --item-text-color-selected: var( --color-600 , var( --color-neutral-900 ) ); --indicator-color-selected: var( --color-500 , var( --color-neutral-900 ) ); }
.dark cnc-tabs[kind="line"], .dark cnc-tabs:not([kind]) { --list-border-color: var( --color-neutral-700 , #404040 ); --item-text-color: var( --color-neutral-400 , #a3a3a3 ); --item-text-color-hover: var( --color-neutral-200 , #e5e5e5 ); --item-text-color-selected: var( --color-400 , var( --color-neutral-100 ) ); --indicator-color-selected: var( --color-400 , var( --color-neutral-100 ) ); }
cnc-tabs[kind="soft"] { --item-border-radius: var( --shape-border-radius , 0 ); --item-bg-hover: color-mix( in srgb , var( --color-neutral-500 , #737373 ) 8% , transparent ); --item-bg-selected: color-mix( in srgb , var( --color-500 , var( --color-neutral-500 ) ) 12% , transparent ); --item-text-color: var( --color-neutral-500 , #737373 ); --item-text-color-hover: var( --color-neutral-700 , #404040 ); --item-text-color-selected: var( --color-700 , var( --color-neutral-800 ) ); }
.dark cnc-tabs[kind="soft"] { --item-bg-hover: color-mix( in srgb , var( --color-neutral-400 , #a3a3a3 ) 12% , transparent ); --item-bg-selected: color-mix( in srgb , var( --color-400 , var( --color-neutral-400 ) ) 22% , transparent ); --item-text-color: var( --color-neutral-400 , #a3a3a3 ); --item-text-color-hover: var( --color-neutral-200 , #e5e5e5 ); --item-text-color-selected: var( --color-200 , var( --color-neutral-100 ) ); }
cnc-tabs[kind="filled"] { --list-padding: 0.125rem; --list-shadow-gutter: 0.125rem; --list-bg: var( --color-neutral-50 , #fafafa ); --list-border-width: 1px; --list-border-color: var( --color-neutral-200 , #e5e5e5 ); --list-border-radius: var( --shape-border-radius , 0 ); --item-border-radius: var( --shape-border-radius , 0 ); --item-border-width: 1px; --item-border-color: transparent; --item-border-color-selected: rgb( 0 0 0 / 0.08 ); --item-bg-selected: #ffffff; --item-shadow-selected: 0 1px 2px rgb( 0 0 0 / 0.08 ); --item-text-color: var( --color-neutral-500 , #737373 ); --item-text-color-hover: var( --color-neutral-700 , #404040 ); --item-text-color-selected: var( --color-700 , var( --color-neutral-900 ) ); }
.dark cnc-tabs[kind="filled"] { --list-bg: var( --color-neutral-800 , #262626 ); --list-border-color: var( --color-neutral-700 , #404040 ); --item-border-color-selected: rgb( 255 255 255 / 0.08 ); --item-bg-selected: var( --color-neutral-700 , #404040 ); --item-text-color: var( --color-neutral-400 , #a3a3a3 ); --item-text-color-hover: var( --color-neutral-200 , #e5e5e5 ); --item-text-color-selected: var( --color-200 , var( --color-neutral-100 ) ); }
cnc-tabs[kind="curved"] { --list-align: flex-end; --item-border-width: 1px; --item-border-color: transparent; --item-border-color-selected: var( --panel-border-color ); --item-border-radius: 0.5rem 0.5rem 0 0; --item-bg: var( --color-neutral-200 , #e9eaeb ); --item-bg-hover: rgb( 0 0 0 / 0.06 ); --item-bg-selected: var( --panel-bg ); --item-text-color: var( --color-neutral-500 , #717680 ); --item-text-color-hover: var( --color-neutral-700 , #414651 ); --item-text-color-selected: var( --color-700 , var( --color-neutral-900 ) ); --panel-bg: #ffffff; --panel-border-width: 1px; --panel-border-color: var( --color-neutral-300 , #d5d7da ); --panel-border-radius: 0 0 0.5rem 0.5rem; }
.dark cnc-tabs[kind="curved"] { --item-bg: var( --color-neutral-800 , #2d2d2d ); --item-bg-hover: rgb( 255 255 255 / 0.06 ); --item-text-color: var( --color-neutral-400 , #9ca3af ); --item-text-color-hover: var( --color-neutral-300 , #d1d5db ); --item-text-color-selected: var( --color-200 , var( --color-neutral-100 ) ); --panel-bg: var( --color-neutral-900 , #1e1e1e ); --panel-border-color: var( --color-neutral-700 , #404040 ); }
cnc-tabs[data-orientation="horizontal"], cnc-tabs:not([data-orientation]) { --container-flex-direction: column; --list-flex-direction: row; --item-justify: center; }
cnc-tabs[data-orientation="vertical"] { --container-flex-direction: row; --list-flex-direction: column; --item-justify: flex-start; --list-align: stretch; container-name: none; }
cnc-tabs[kind="curved"][data-orientation="vertical"] { --item-border-radius: 0.5rem 0 0 0.5rem; --panel-border-radius: 0 0.5rem 0.5rem 0; }
cnc-tabs:where([data-placement="top-left"], [data-placement="bottom-left"]) > .cnc-tabs_nav > .cnc-tabs_list { justify-content: flex-start; }
cnc-tabs:where([data-placement="top-center"], [data-placement="bottom-center"]) > .cnc-tabs_nav > .cnc-tabs_list { justify-content: safe center; }
cnc-tabs:where([data-placement="top-right"], [data-placement="bottom-right"]) > .cnc-tabs_nav > .cnc-tabs_list { justify-content: safe flex-end; }
cnc-tabs:where([data-placement="left-top"], [data-placement="right-top"]) > .cnc-tabs_nav { align-self: flex-start; }
cnc-tabs:where([data-placement="left-center"], [data-placement="right-center"]) > .cnc-tabs_nav { align-self: center; }
cnc-tabs:where([data-placement="left-bottom"], [data-placement="right-bottom"]) > .cnc-tabs_nav { align-self: flex-end; }
cnc-tabs[data-placement^="right"] > .cnc-tabs_nav { order: 2; }
cnc-tabs[data-placement^="right"] > .cnc-tabs_panel { order: 1; }
cnc-tabs[data-placement^="bottom"] > .cnc-tabs_nav { order: 2; }
cnc-tabs[data-placement^="bottom"] > .cnc-tabs_compact { order: 2; border-block-start: var( --list-border-width ) solid var( --list-border-color ); border-block-end: 0; }
cnc-tabs[data-placement^="bottom"] > .cnc-tabs_panel { order: 1; }
cnc-tabs[kind="curved"][data-placement^="right"] { --item-border-radius: 0 0.5rem 0.5rem 0; --panel-border-radius: 0.5rem 0 0 0.5rem; }
cnc-tabs { display: flex; flex-direction: var( --container-flex-direction ); width: 100%; min-width: 0; container: cnc-tabs / inline-size; }
cnc-tabs > .cnc-tabs_compact { display: none; width: 100%; padding: var( --list-padding ); background: var( --list-bg ); border-block-end: var( --list-border-width ) solid var( --list-border-color ); }
cnc-tabs > .cnc-tabs_compact .cnc-tabs_compact-select { width: 100%; min-width: 0; }
cnc-tabs .cnc-tabs_compact-select .cnc-select_trigger { border-bottom-right-radius: 0 !important; border-bottom-left-radius: 0 !important; }
cnc-tabs > .cnc-tabs_compact .cnc-tabs_compact-close { inline-size: var( --control-size ); block-size: var( --control-size ); color: var( --control-color ); background: transparent; border: 0; border-radius: var( --radius-sm , 0.25rem ); cursor: pointer; }
@container cnc-tabs (max-width: 499px) {
cnc-tabs:not([drag]) > .cnc-tabs_nav { display: none !important; }
cnc-tabs:not([drag]) > .cnc-tabs_compact { display: block; }
}
cnc-tabs[data-compact]:not([drag]) > .cnc-tabs_nav { display: none !important; }
cnc-tabs[data-compact]:not([drag]) > .cnc-tabs_compact { display: block; }
cnc-tabs > .cnc-tabs_nav { align-items: var( --list-align ); }
cnc-tabs[data-orientation="horizontal"] > .cnc-tabs_nav { inline-size: 100%; }
cnc-tabs[data-orientation="vertical"] > .cnc-tabs_nav { block-size: max-content; max-block-size: 100%; }
cnc-tabs[full-width][data-orientation="horizontal"] > .cnc-tabs_nav { inline-size: 100%; }
cnc-tabs[kind="curved"][data-orientation="horizontal"]:has( > .cnc-tabs_nav > .cnc-tabs_list > .cnc-tabs_item:only-child ) > .cnc-tabs_nav { inline-size: 100%; }
cnc-tabs > .cnc-tabs_nav > .cnc-tabs_list { flex-direction: var( --list-flex-direction ); align-items: var( --list-align ); gap: var( --list-gap ); padding: var( --list-padding ); background: var( --list-bg ); border-radius: var( --list-border-radius ); scrollbar-width: none; -ms-overflow-style: none; }
cnc-tabs > .cnc-tabs_nav > .cnc-tabs_list::-webkit-scrollbar { display: none; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item { flex: var( --item-flex ); justify-content: var( --item-justify ); cursor: pointer; gap: var( --item-gap ); min-block-size: var( --item-height ); padding: var( --item-padding ); color: var( --item-text-color ); background: var( --item-bg ); border: var( --item-border-width ) solid var( --item-border-color ); border-radius: var( --item-border-radius ); font-size: var( --item-font-size ); line-height: var( --item-line-height ); font-weight: var( --item-font-weight ); transition: color var( --transition-duration ) var( --transition-timing ) , background var( --transition-duration ) var( --transition-timing ); }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item:focus-visible { outline: 2px solid var( --color-500 , var( --color-neutral-500 ) ); outline-offset: -2px; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_icon { inline-size: var( --icon-size ); block-size: var( --icon-size ); color: var( --icon-color ); }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_icon svg { display: block; inline-size: 100%; block-size: 100%; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_label { font-size: inherit; font-weight: inherit; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_pin, cnc-tabs > .cnc-tabs_nav .cnc-tabs_close { inline-size: var( --control-size ); block-size: var( --control-size ); color: var( --control-color ); background: transparent; border: 0; border-radius: var( --radius-sm , 0.25rem ); opacity: 0.4; transition: opacity var( --transition-duration ) var( --transition-timing ); }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_pin:hover, cnc-tabs > .cnc-tabs_nav .cnc-tabs_close:hover, cnc-tabs > .cnc-tabs_nav .cnc-tabs_pin:focus-visible, cnc-tabs > .cnc-tabs_nav .cnc-tabs_close:focus-visible { opacity: 1; }
cnc-tabs > .cnc-tabs_panel { display: flex; overflow-x: hidden; flex: 1; min-block-size: 0; position: relative; background: var( --panel-bg ); border: var( --panel-border-width ) solid var( --panel-border-color ); border-radius: var( --panel-border-radius ); }
cnc-tabs > .cnc-tabs_panel > .cnc-tabs_panelitem { display: flex; flex: 1; flex-direction: column; min-inline-size: 0; min-block-size: 0; overflow: auto; }
cnc-tabs > .cnc-tabs_panel > .cnc-tabs_panelitem:focus { outline: none; }
cnc-tabs > .cnc-tabs_panel:focus { outline: none; }
cnc-tabs > .cnc-tabs_panel:focus-visible { outline: 2px solid var( --color-500 , var( --color-neutral-500 ) ); outline-offset: -2px; }
cnc-tabs > .cnc-tabs_nav > .cnc-tabs_scroll { position: absolute; display: none; align-items: center; justify-content: center; inline-size: var( --scroll-size ); block-size: var( --scroll-size ); padding: 0; border: none; border-radius: var( --radius-full , 9999px ); cursor: pointer; z-index: 4; color: var( --scroll-color ); background: var( --scroll-bg ); box-shadow: var( --scroll-shadow ); }
cnc-tabs > .cnc-tabs_nav > .cnc-tabs_scroll.visible { display: flex; }
cnc-tabs > .cnc-tabs_nav:has(> .cnc-tabs_scroll-end.visible) > .cnc-tabs_list { padding-inline-end: calc( var( --scroll-size ) + 0.375rem ); }
cnc-tabs > .cnc-tabs_nav:has(> .cnc-tabs_scroll-start.visible) > .cnc-tabs_list { padding-inline-start: calc( var( --scroll-size ) + 0.375rem ); }
cnc-tabs > .cnc-tabs_nav > .cnc-tabs_scroll:hover { color: var( --scroll-color-hover ); background: var( --scroll-bg-hover ); }
cnc-tabs > .cnc-tabs_nav > .cnc-tabs_scroll svg { display: block; inline-size: 0.9375rem; block-size: 0.9375rem; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item:hover { color: var( --item-text-color-hover , var( --item-text-color ) ); background: var( --item-bg-hover , var( --item-bg ) ); }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"] { color: var( --item-text-color-selected , var( --item-text-color ) ); background: var( --item-bg-selected , var( --item-bg ) ); border-color: var( --item-border-color-selected , var( --item-border-color ) ); box-shadow: var( --item-shadow-selected ); cursor: default; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; pointer-events: none; }
cnc-tabs[full-width] > .cnc-tabs_nav .cnc-tabs_item { --item-flex: 1 1 0; }
cnc-tabs[direction="horizontal"] > .cnc-tabs_nav > .cnc-tabs_list, cnc-tabs:not([direction]) > .cnc-tabs_nav > .cnc-tabs_list { border-block-end: var( --list-border-width ) solid var( --list-border-color ); padding-block: calc( var( --list-padding ) + var( --list-shadow-gutter ) ); overflow-x: auto; overflow-y: hidden; }
cnc-tabs[direction="horizontal"] > .cnc-tabs_nav > .cnc-tabs_scroll, cnc-tabs:not([direction]) > .cnc-tabs_nav > .cnc-tabs_scroll { top: 50%; transform: translateY( -50% ); }
cnc-tabs[direction="horizontal"] > .cnc-tabs_nav > .cnc-tabs_scroll-start, cnc-tabs:not([direction]) > .cnc-tabs_nav > .cnc-tabs_scroll-start { left: 0.1875rem; }
cnc-tabs[direction="horizontal"] > .cnc-tabs_nav > .cnc-tabs_scroll-end, cnc-tabs:not([direction]) > .cnc-tabs_nav > .cnc-tabs_scroll-end { right: 0.1875rem; }
cnc-tabs[direction="vertical"] > .cnc-tabs_nav > .cnc-tabs_list { border-inline-end: var( --list-border-width ) solid var( --list-border-color ); overflow-x: hidden; overflow-y: auto; }
cnc-tabs[direction="vertical"] > .cnc-tabs_nav { max-block-size: 100%; }
cnc-tabs[direction="vertical"] > .cnc-tabs_nav > .cnc-tabs_scroll { left: 50%; transform: translateX( -50% ) rotate( 90deg ); }
cnc-tabs[direction="vertical"] > .cnc-tabs_nav > .cnc-tabs_scroll-start { top: 0.1875rem; }
cnc-tabs[direction="vertical"] > .cnc-tabs_nav > .cnc-tabs_scroll-end { bottom: 0.1875rem; }
cnc-tabs[direction="vertical"][full-width] > .cnc-tabs_nav .cnc-tabs_item { --item-flex: 0 0 auto; inline-size: 100%; }
cnc-tabs[kind="line"] > .cnc-tabs_nav .cnc-tabs_item::after, cnc-tabs:not([kind]) > .cnc-tabs_nav .cnc-tabs_item::after { content: ""; position: absolute; background: var( --indicator-color ); transition: background var( --transition-duration ) var( --transition-timing ); }
cnc-tabs[kind="line"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after, cnc-tabs:not([kind]) > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { --indicator-color: var( --indicator-color-selected ); }
cnc-tabs[kind="line"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item::after, cnc-tabs[kind="line"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item::after, cnc-tabs:not([kind])[direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item::after, cnc-tabs:not([kind]):not([direction]) > .cnc-tabs_nav .cnc-tabs_item::after { inset-inline: 0; bottom: 0; block-size: var( --indicator-size ); }
cnc-tabs[kind="line"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item::after, cnc-tabs:not([kind])[direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item::after { inset-block: 0; inset-inline-end: 0; inline-size: var( --indicator-size ); }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav { margin-block-end: calc( -1 * var( --panel-border-width ) ); }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav { margin-inline-end: calc( -1 * var( --panel-border-width ) ); }
cnc-tabs[kind="curved"] > .cnc-tabs_nav > .cnc-tabs_list { position: relative; z-index: 1; }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item { border-block-end: none; }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item { border-inline-end: none; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"] { filter: drop-shadow( 2px -1px 1px rgb( 0 0 0 / 0.06 ) ); z-index: 1; }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"] { filter: drop-shadow( -1px 2px 1px rgb( 0 0 0 / 0.06 ) ); }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]), cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]) { border-block-end: var( --item-border-width ) solid var( --panel-border-color ); }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]) { border-inline-end: var( --item-border-width ) solid var( --panel-border-color ); }
cnc-tabs[kind="curved"][border] > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]) { border: var( --item-border-width ) solid var( --panel-border-color ); }
cnc-tabs[kind="curved"][direction="vertical"][border] > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]) { border-inline-end: none; }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before, cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { content: ""; position: absolute; bottom: 0; inline-size: 0.5rem; block-size: 0.5rem; }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before { left: -0.5rem; z-index: 1; background: radial-gradient( 0.5rem 0.5rem at top left , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before, cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { content: ""; position: absolute; right: 0; inline-size: 0.43rem; block-size: 0.43rem; }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before { top: -0.43rem; z-index: 1; background: radial-gradient( 0.5rem 0.5rem at top left , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[kind="curved"][direction="vertical"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { bottom: -0.4375rem; background: radial-gradient( 0.5rem 0.5rem at bottom left , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { right: -0.5rem; background: radial-gradient( 0.5rem 0.5rem at top right , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item:first-child[aria-selected="true"]::before { display: none; }
cnc-tabs[kind="curved"][direction="horizontal"] > .cnc-tabs_nav .cnc-tabs_item:only-child, cnc-tabs[kind="curved"]:not([direction]) > .cnc-tabs_nav .cnc-tabs_item:only-child { flex: 1 1 auto; transition: flex-grow 0.4s ease-in-out; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item:only-child[aria-selected="true"] { filter: none; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item:only-child[aria-selected="true"]::after { opacity: 0; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav > .cnc-tabs_list:hover .cnc-tabs_item:only-child { flex-grow: 0; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav > .cnc-tabs_list:hover .cnc-tabs_item:only-child[aria-selected="true"] { filter: drop-shadow( 1px 0 1px rgb( 0 0 0 / 0.06 ) ); }
cnc-tabs[kind="curved"] > .cnc-tabs_nav > .cnc-tabs_list:hover .cnc-tabs_item:only-child[aria-selected="true"]::after { opacity: 1; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item:only-child .cnc-tabs_pin, cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item:only-child .cnc-tabs_close { max-inline-size: 0; margin-inline-start: 0; padding-inline: 0; opacity: 0; overflow: hidden; pointer-events: none; transform: scale( 0.75 ); transition: max-inline-size 0.2s ease , margin-inline-start 0.2s ease , padding 0.2s ease , opacity 0.15s ease , transform 0.2s ease; }
cnc-tabs[kind="curved"] > .cnc-tabs_nav > .cnc-tabs_list:hover .cnc-tabs_item:only-child .cnc-tabs_pin, cnc-tabs[kind="curved"] > .cnc-tabs_nav > .cnc-tabs_list:hover .cnc-tabs_item:only-child .cnc-tabs_close, cnc-tabs[kind="curved"] > .cnc-tabs_nav .cnc-tabs_item:only-child .cnc-tabs_pin[aria-pressed="true"] { max-inline-size: var( --control-size ); margin-inline-start: 0.125rem; opacity: 1; pointer-events: auto; transform: scale( 1 ); }
cnc-tabs[data-placement^="right"] > .cnc-tabs_nav > .cnc-tabs_list { border-inline-end: 0; border-inline-start: var( --list-border-width ) solid var( --list-border-color ); }
cnc-tabs:where([kind="line"], :not([kind]))[data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item::after { inset-inline-start: 0; inset-inline-end: auto; }
cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav { margin-inline-end: 0; margin-inline-start: calc( -1 * var( --panel-border-width ) ); }
cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item { border-inline-end: var( --item-border-width ) solid var( --item-border-color ); border-inline-start: none; }
cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]) { border-inline-end: var( --item-border-width ) solid var( --panel-border-color ); border-inline-start: var( --item-border-width ) solid var( --panel-border-color ); }
cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before, cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { right: auto; left: 0; }
cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before { background: radial-gradient( 0.5rem 0.5rem at top right , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[kind="curved"][data-placement^="right"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { background: radial-gradient( 0.5rem 0.5rem at bottom right , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[data-placement^="bottom"] > .cnc-tabs_nav > .cnc-tabs_list { border-block-end: 0; border-block-start: var( --list-border-width ) solid var( --list-border-color ); }
cnc-tabs:where([kind="line"], :not([kind]))[data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item::after { top: 0; bottom: auto; }
cnc-tabs[kind="curved"][data-placement^="bottom"] { --item-border-radius: 0 0 0.5rem 0.5rem; --panel-border-radius: 0.5rem 0.5rem 0 0; }
cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav { margin-block-end: 0; margin-block-start: calc( -1 * var( --panel-border-width ) ); }
cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item { border-block-end: var( --item-border-width ) solid var( --item-border-color ); border-block-start: none; }
cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item:not([aria-selected="true"]) { border-block-end: var( --item-border-width ) solid var( --panel-border-color ); border-block-start: var( --item-border-width ) solid var( --panel-border-color ); }
cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before, cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { top: 0; bottom: auto; }
cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::before { background: radial-gradient( 0.5rem 0.5rem at bottom left , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs[kind="curved"][data-placement^="bottom"] > .cnc-tabs_nav .cnc-tabs_item[aria-selected="true"]::after { background: radial-gradient( 0.5rem 0.5rem at bottom right , transparent 0.4375rem , var( --panel-border-color ) 0.4375rem , var( --panel-border-color ) 0.5rem , var( --panel-bg ) 0.5rem ); }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_drag { inline-size: 0; overflow: hidden; opacity: 0; pointer-events: none; transform: scale( 0.75 ); cursor: grab; transition: inline-size 0.2s ease , opacity 0.15s ease , transform 0.2s ease; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item:has(.cnc-tabs_icon:not(.cnc-tabs_drag)) .cnc-tabs_drag { position: absolute; inset-inline-start: 0.625rem; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item:hover .cnc-tabs_drag { inline-size: var( --icon-size ); opacity: 0.5; pointer-events: auto; transform: scale( 1 ); z-index: 1; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_icon:not(.cnc-tabs_drag) { transition: opacity 0.15s ease , transform 0.2s ease; }
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item:has(.cnc-tabs_drag):hover .cnc-tabs_icon:not(.cnc-tabs_drag) { opacity: 0; pointer-events: none; transform: scale( 0.75 ); }
@media (prefers-reduced-motion: reduce) {
cnc-tabs > .cnc-tabs_nav .cnc-tabs_item, cnc-tabs > .cnc-tabs_nav .cnc-tabs_drag, cnc-tabs > .cnc-tabs_nav .cnc-tabs_icon, cnc-tabs > .cnc-tabs_nav .cnc-tabs_pin, cnc-tabs > .cnc-tabs_nav .cnc-tabs_close { transition-duration: 1ms; }
}
}
cnc-tabs[data-dock-fixed-single="true"] .cnc-tabs_nav, cnc-tabs[data-dock-fixed-single="true"] .cnc-tabs_compact { display: none; }
@layer app-widgets {
cnc-tag:where([shape="square"], [shape="rectangle"]) { --shape-border-radius: 0; }
cnc-tag:where([shape="pill"]) { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-tag:where([shape="circle"]) { --shape-border-radius: 50%; }
cnc-tag:where([size="xxs"], [size="xs"], [size="sm"]) { --shape-border-radius-rounded: var( --radius-sm , 0.5rem ); }
cnc-tag:where([size="md"], [size="lg"]) { --shape-border-radius-rounded: var( --radius-md , 0.55rem ); }
cnc-tag:where([size="xl"], [size="2xl"]) { --shape-border-radius-rounded: var( --radius-lg , 0.65rem ); }
cnc-tag:where([shape="rounded"]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-lg , 0.5rem ) ); }
cnc-tag[size="xxs"] { --container-font-size: 0.625rem; --container-line-height: 0.875rem; --container-padding: 0.0625rem 0.375rem; --container-gap: 0.25rem; --icon-size: 0.75rem; --control-size: 0.75rem; --indicator-size: 0.35rem; }
cnc-tag[size="xs"] { --container-font-size: 0.75rem; --container-line-height: 1rem; --container-padding: 0.125rem 0.375rem; --container-gap: 0.25rem; --icon-size: 0.875rem; --control-size: 0.75rem; --indicator-size: 0.4rem; }
cnc-tag[size="sm"] { --container-font-size: 0.875rem; --container-line-height: 1.25rem; --container-padding: 0.125rem 0.5rem; --container-gap: 0.35rem; --icon-size: 1rem; --control-size: 0.875rem; --indicator-size: 0.45rem; }
cnc-tag[size="md"], cnc-tag:not([size]) { --container-font-size: 0.875rem; --container-line-height: 1.25rem; --container-padding: 0.25rem 0.625rem; --container-gap: 0.4rem; --icon-size: 1rem; --control-size: 0.875rem; --indicator-size: 0.5rem; }
cnc-tag[size="lg"] { --container-font-size: 1rem; --container-line-height: 1.5rem; --container-padding: 0.25rem 0.75rem; --container-gap: 0.45rem; --icon-size: 1rem; --control-size: 1rem; --indicator-size: 0.55rem; }
cnc-tag[size="xl"] { --container-font-size: 1.125rem; --container-line-height: 1.75rem; --container-padding: 0.25rem 0.875rem; --container-gap: 0.5rem; --icon-size: 1.25rem; --control-size: 1.125rem; --indicator-size: 0.6rem; }
cnc-tag[size="2xl"] { --container-font-size: 1.25rem; --container-line-height: 1.75rem; --container-padding: 0.375rem 1rem; --container-gap: 0.55rem; --icon-size: 1.25rem; --control-size: 1.25rem; --indicator-size: 0.65rem; }
cnc-tag { line-height: 0; --container-shadow: inset 0 0 0 1px var( --container-border-color ); --container-font-weight: 500; --container-border-radius: var( --shape-border-radius , var( --radius-md , 0.5rem ) ); --container-animation-duration: 2s; --container-animation-timing: cubic-bezier( 0.4 , 0 , 0.6 , 1 ); --indicator-margin-inline-end: calc( var( --indicator-size ) * -0.3 ); --control-opacity: 0.6; --control-opacity-hover: 1; --control-margin-inline-start: 0.25rem; }
cnc-tag:not([kind]), cnc-tag:not([kind="plain"]):not([kind="modern"]):not([kind="outline"]) { --container-bg: var( --color-50 , white ); --container-text-color: var( --color-700 , var( --color-neutral-700 ) ); --container-border-color: var( --color-200 , var( --color-neutral-200 ) ); --icon-color: var( --color-500 , var( --color-neutral-500 ) ); --indicator-color: var( --icon-color ); --control-color: var( --color-600 , var( --color-neutral-600 ) ); }
.dark cnc-tag:not([kind]), .dark cnc-tag:not([kind="plain"]):not([kind="modern"]):not([kind="outline"]) { --container-bg: var( --color-950 , black ); --container-text-color: var( --color-600 , var( --color-neutral-500 ) ); --container-border-color: var( --color-800 , var( --color-neutral-800 ) ); --icon-color: var( --color-600 , var( --color-neutral-600 ) ); --control-color: var( --color-400 , var( --color-neutral-400 ) ); }
cnc-tag[kind="plain"] { --container-bg: transparent; --container-text-color: var( --color-neutral-700 ); --container-border-color: var( --color-300 , var( --color-neutral-300 ) ); --icon-color: var( --color-neutral-400 ); }
.dark cnc-tag[kind="plain"] { --container-text-color: var( --color-neutral-400 ); --container-border-color: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-neutral-700 ); }
cnc-tag[kind="modern"] { --container-bg: white; --container-text-color: var( --color-neutral-700 ); --container-border-color: var( --color-neutral-300 ); --icon-color: var( --color-neutral-400 ); --indicator-color: var( --color-500 , var( --color-neutral-500 ) ); }
.dark cnc-tag[kind="modern"] { --container-bg: black; --container-text-color: var( --color-neutral-400 ); --container-border-color: var( --color-neutral-700 ); --icon-color: var( --color-neutral-600 ); --indicator-color: var( --color-500 , var( --color-neutral-500 ) ); }
cnc-tag[kind="outline"], cnc-tag[outline]:not([outline="false"]):not([kind="plain"]):not([kind="modern"]) { --container-bg: var( --color-50 , white ); --container-text-color: var( --color-700 , var( --color-neutral-700 ) ); --container-border-color: var( --color-700 , var( --color-neutral-700 ) ); --icon-color: var( --color-500 , var( --color-neutral-500 ) ); }
.dark cnc-tag[kind="outline"], .dark cnc-tag[outline]:not([outline="false"]):not([kind="plain"]):not([kind="modern"]) { --container-bg: var( --color-950 , black ); --container-text-color: var( --color-600 , var( --color-neutral-500 ) ); --container-border-color: var( --color-400 , var( --color-neutral-400 ) ); --icon-color: var( --color-700 , var( --color-neutral-700 ) ); }
cnc-tag [outline]:not([outline="false"]):not([kind="plain"]):not([kind="modern"]):not([kind="outline"])  { --container-border-color: color-mix( in oklab , var( --color-600 , var( --color-neutral-600 ) ) 20% , transparent ); }
cnc-tag .cnc-tag_container { gap: var( --container-gap ); padding: var( --container-padding , 0.25rem 0.625rem ); border-radius: var( --container-border-radius ); background-color: var( --container-bg ); box-shadow: var( --container-shadow ); color: var( --container-text-color ); cursor: var( --container-cursor , default ); font-family: inherit; font-size: var( --container-font-size , 0.875rem ); font-weight: var( --container-font-weight ); line-height: var( --container-line-height , 1.25rem ); }
cnc-tag .cnc-tag_container.disabled { --container-cursor: not-allowed; opacity: var( --container-opacity-disabled , 1 ); }
cnc-tag .cnc-tag_container.pulse { animation: cnc-tag-cnc-tag-pulse var( --container-animation-duration ) var( --container-animation-timing ) infinite; }
cnc-tag .cnc-tag_icon { width: var( --icon-size ); height: var( --icon-size ); color: var( --icon-color ); }
cnc-tag .cnc-tag_indicator { width: var( --indicator-size ); height: var( --indicator-size ); margin-inline-end: var( --indicator-margin-inline-end ); color: var( --indicator-color ); }
cnc-tag .cnc-tag_label { color: var( --label-text-color , inherit ); }
cnc-tag .cnc-tag_control { width: var( --control-size ); height: var( --control-size ); margin-inline-start: var( --control-margin-inline-start ); color: var( --control-color ); font-size: var( --control-size ); opacity: var( --control-opacity ); transition: opacity var( --control-transition-duration , 150ms ) var( --control-transition-timing , ease ); }
cnc-tag .cnc-tag_control:hover { opacity: var( --control-opacity-hover ); }
@keyframes cnc-tag-cnc-tag-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
}
@layer app-widgets {
cnc-textarea { display: block; }
cnc-textarea .textarea { padding: 0.5rem 0.75rem; font-family: inherit; border: 1px solid #cbd5e1; }
cnc-textarea .textarea::placeholder { font-weight: 400; color: var(--color-slate-400); opacity: 50%; }
.dark cnc-textarea .textarea::placeholder { color: var(--color-slate-500); }
cnc-textarea .textarea:focus { border-color: var( --color-primary-500 ); box-shadow: 0 0 0 2px rgba( 14 , 165 , 233 , 0.3 ); }
cnc-textarea .textarea:disabled { opacity: 50%; cursor: not-allowed; }
cnc-textarea .textarea.none { resize: none; }
cnc-textarea .textarea.auto { resize: none; overflow: hidden; }
cnc-textarea .textarea.vertical { resize: vertical; overflow: auto; }
}
@layer app-widgets {
cnc-thumbnail { vertical-align: middle; background: rgba( 0 , 0 , 0 , 0.05 ); color: rgba( 0 , 0 , 0 , 0.15 ); box-sizing: content-box; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; user-select: none; --tw-leading: 0; line-height: 0; }
.dark cnc-thumbnail { color: color-mix(in oklab, var(--color-white) 20%, transparent); }
}
@layer app-widgets {
cnc-timeline .timeline-items { display: flex; flex-direction: column; }
cnc-timeline .timeline-item { position: relative; padding-left: calc(var(--box-spacing) * 8); padding-block: calc(var(--box-spacing) * 4); }
cnc-timeline .timeline-item { --dot-top: 1.875rem; }
cnc-timeline .timeline-item:has(.timeline-title) { --dot-top: 3.375rem; }
cnc-timeline .timeline-item::before { content: ""; top: var( --dot-top ); height: 100%; width: 2px; position: absolute; left: 0.4375rem; background-color: var(--color-slate-300); }
.dark cnc-timeline .timeline-item::before { background-color: var(--color-slate-600); }
cnc-timeline .timeline-item:last-child::before { display: none; }
cnc-timeline .timeline-title { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); text-transform: uppercase; font-weight: var(--font-weight-medium); margin-bottom: calc(var(--box-spacing) * 1); margin-left: calc(var(--box-spacing) * 4); color: var(--color-primary-600); }
.dark cnc-timeline .timeline-title { color: var(--color-primary-400); }
cnc-timeline .timeline-row { display: flex; align-items: center; gap: calc(var(--spacing) * 2); margin-bottom: calc(var(--box-spacing) * 1); }
cnc-timeline .timeline-marker { top: var( --dot-top ); transform: translateY( -50% ); position: absolute; left: 0px; display: flex; align-items: center; justify-content: center; }
cnc-timeline .marker-dot { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); border-radius: calc(infinity * 1px); border-width: 4px; border-style: var(--tw-border-style); background-color: var(--color-primary-500); border-color: var(--color-white); }
.dark cnc-timeline .marker-dot { border-color: var(--color-slate-800); }
cnc-timeline .marker-dot.pulse { animation: cnc-timeline-pulse 2s cubic-bezier( 0.4 , 0 , 0.6 , 1 ) infinite; }
@keyframes cnc-timeline-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
cnc-timeline .timeline-label { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); font-weight: var(--font-weight-bold); color: var(--color-slate-800); }
.dark cnc-timeline .timeline-label { color: var(--color-slate-200); }
cnc-timeline .timeline-content { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); margin-left: calc(var(--box-spacing) * 4); color: var(--color-slate-500); }
.dark cnc-timeline .timeline-content { color: var(--color-slate-400); }
}
@layer app-widgets {
cnc-timezone { --select-bg: var( --color-50 , white ); --select-border-color: var( --color-200 , var( --color-neutral-300 ) ); --select-text-color: var( --color-700 , var( --color-neutral-800 ) ); --select-border-radius: var( --radius-md , 0.375rem ); --select-padding-y: 0.375rem; --select-padding-x: 0.5rem; --select-font-size: 0.875rem; }
.dark cnc-timezone { --select-bg: var( --color-950 , black ); --select-border-color: var( --color-700 , var( --color-neutral-600 ) ); --select-text-color: var( --color-600 , var( --color-neutral-500 ) ); }
cnc-timezone .cnc-timezone_select { box-sizing: border-box; block-size: 100%; padding-block: var( --select-padding-y ); padding-inline: var( --select-padding-x ); border: 0.0625rem solid var( --select-border-color ); border-radius: var( --select-border-radius ); background-color: var( --select-bg ); color: var( --select-text-color ); font: inherit; font-size: var( --select-font-size ); outline: none; cursor: pointer; }
cnc-timezone .cnc-timezone_select:disabled { cursor: not-allowed; opacity: 0.5; }
}
@layer app-widgets {
cnc-tiptap .tiptap { padding: 0.5rem 1rem; min-height: 8rem; outline: none; }
cnc-tiptap .tiptap-focused { border-color: var(--color-primary-500); }
}
@layer app-widgets {
cnc-toast[shape="rounded"], cnc-toast:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-xl , 0.75rem ) ); }
cnc-toast[shape="soft"] { --shape-border-radius: var( --shape-border-radius-soft , var( --radius-lg , 0.5rem ) ); }
cnc-toast[shape="square"], cnc-toast[shape="rectangle"] { --shape-border-radius: 0; }
cnc-toast[size="sm"] { --shape-border-radius-rounded: var( --radius-lg , 0.5rem ); --container-width: 20rem; --item-padding: 0.75rem; --item-gap: 0.875rem; --title-font-size: 0.8125rem; --message-font-size: 0.75rem; }
cnc-toast[size="md"], cnc-toast:not([size]) { --shape-border-radius-rounded: var( --radius-xl , 0.75rem ); --container-width: 25rem; --item-padding: 1rem; --item-gap: 1rem; --title-font-size: 0.875rem; --message-font-size: 0.875rem; }
cnc-toast[size="lg"] { --shape-border-radius-rounded: var( --radius-xl , 0.75rem ); --container-width: 30rem; --item-padding: 1.125rem; --item-gap: 1rem; --title-font-size: 1rem; --message-font-size: 0.875rem; }
cnc-toast { --container-offset: 0.5rem; --container-gap: 0.625rem; --stack-offset: 1rem; --item-border-radius: var( --toast-border-radius , var( --shape-border-radius , 0 ) ); --item-bg: white; --item-text-color: var( --color-neutral-900 , #171717 ); --message-text-color: var( --color-neutral-600 , #525252 ); --item-border-color: var( --color-neutral-200 , #e5e5e5 ); --item-border-width: 0px; --item-shadow: 0 0 0 1px rgb( 15 23 42 / 0.1 ) , 0 12px 16px -4px rgb( 15 23 42 / 0.08 ) , 0 4px 6px -2px rgb( 15 23 42 / 0.03 ) , 0 2px 2px -1px rgb( 15 23 42 / 0.04 ); --item-transition-duration: 400ms; --item-transition-timing: ease; --icon-color: var( --tone-color ); }
cnc-toast[kind="soft"], cnc-toast:not([kind]) { --item-bg: white; }
cnc-toast[kind="filled"] { --item-bg: transparent; --item-text-color: white; --message-text-color: rgb( 255 255 255 / 0.86 ); --item-border-color: transparent; --icon-color: currentColor; }
cnc-toast[kind="outline"] { --item-bg: white; --item-border-color: transparent; --item-border-width: 2px; }
.dark cnc-toast[kind="soft"], .dark cnc-toast:not([kind]) { --item-bg: var( --color-neutral-900 , #171717 ); --item-text-color: var( --color-neutral-50 , #fafafa ); --message-text-color: var( --color-neutral-300 , #d4d4d4 ); --item-border-color: var( --color-neutral-700 , #404040 ); }
.dark cnc-toast[kind="outline"] { --item-bg: var( --color-neutral-900 , #171717 ); --item-text-color: var( --color-neutral-50 , #fafafa ); --message-text-color: var( --color-neutral-300 , #d4d4d4 ); --item-border-color: transparent; }
cnc-toast { display: contents; }
cnc-toast .cnc-toast_overlay .cnc-overlay_surface { position: fixed; inset: auto; width: auto; height: auto; max-width: none; overflow: hidden; background: transparent; }
cnc-toast .cnc-toast_container { --entry-shift: -20px; position: fixed; width: min( var( --container-width ) , calc( 100vw - 2 * var( --container-offset ) ) ); isolation: isolate; }
cnc-toast .cnc-toast_item { --stack-scale: 1; --stack-blur: 0px; --stack-opacity: 1; --stack-z-index: 100; grid-template-rows: 1fr; align-self: start; flex: 0 0 auto; width: 100%; margin: 0; transform: scale( var( --stack-scale ) ); transform-origin: var( --stack-origin , top center ); filter: blur( var( --stack-blur ) ); opacity: var( --stack-opacity ); z-index: var( --stack-z-index ); transition: transform var( --item-transition-duration ) var( --item-transition-timing ) , filter var( --item-transition-duration ) var( --item-transition-timing ) , opacity var( --item-transition-duration ) var( --item-transition-timing ) , margin var( --item-transition-duration ) var( --item-transition-timing ) , grid-template-rows var( --item-transition-duration ) var( --item-transition-timing ); }
cnc-toast .cnc-toast_surface { box-sizing: border-box; color: var( --item-text-color ); background: var( --item-bg ); border: var( --item-border-width ) solid var( --item-border-color ); border-radius: var( --item-border-radius ); box-shadow: var( --item-shadow ); }
cnc-toast .cnc-toast_inner { gap: var( --item-gap ); padding: var( --item-padding ); }
cnc-toast[kind="soft"] .cnc-toast_surface, cnc-toast:not([kind]) .cnc-toast_surface { background: color-mix( in srgb , var( --item-bg ) 94% , var( --tone-color ) ); }
cnc-toast[kind="filled"] .cnc-toast_surface { background: var( --tone-color ); }
cnc-toast[kind="outline"] .cnc-toast_surface { border-color: var( --tone-color ); }
.dark cnc-toast[kind="soft"] .cnc-toast_surface, .dark cnc-toast:not([kind]) .cnc-toast_surface { background: color-mix( in srgb , var( --item-bg ) 92% , var( --tone-color ) ); }
cnc-toast .cnc-toast_item:nth-of-type(2) { --stack-scale: 0.96; --stack-blur: 0.45px; --stack-opacity: 0.86; --stack-z-index: 99; }
cnc-toast .cnc-toast_item:nth-of-type(3) { --stack-scale: 0.92; --stack-blur: 0.9px; --stack-opacity: 0.7; --stack-z-index: 98; }
cnc-toast .cnc-toast_item:nth-of-type(4) { --stack-scale: 0.88; --stack-blur: 1.35px; --stack-opacity: 0.54; --stack-z-index: 97; }
cnc-toast .cnc-toast_item:nth-of-type(5) { --stack-scale: 0.84; --stack-blur: 1.8px; --stack-opacity: 0.4; --stack-z-index: 96; }
cnc-toast .cnc-toast_item:nth-of-type(6) { --stack-scale: 0.8; --stack-blur: 2.25px; --stack-opacity: 0.28; --stack-z-index: 95; }
cnc-toast .cnc-toast_item:nth-of-type(n + 7) { --stack-scale: 0.76; --stack-blur: 2.7px; --stack-opacity: 0; --stack-z-index: 94; }
cnc-toast .cnc-toast_icon { z-index: 1; color: var( --icon-color ); }
cnc-toast .cnc-toast_header { gap: 0.5rem; }
cnc-toast .cnc-toast_content { padding-right: 2rem; }
cnc-toast .cnc-toast_title { flex: 1; font-size: var( --title-font-size ); font-weight: 600; line-height: 1.25rem; }
cnc-toast .cnc-toast_message { margin: 0.25rem 0 0; color: var( --message-text-color ); font-size: var( --message-font-size ); line-height: 1.25rem; overflow-wrap: anywhere; }
cnc-toast .cnc-toast_close { position: absolute; top: 0.5rem; right: 0.5rem; display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0.5rem; color: currentColor; background: transparent; border: 0; opacity: 0.55; cursor: pointer; }
cnc-toast .cnc-toast_placement-top-left { top: var( --container-offset ); left: var( --container-offset ); }
cnc-toast .cnc-toast_placement-top-center { top: var( --container-offset ); left: 50%; translate: -50% 0; }
cnc-toast .cnc-toast_placement-top-right { top: var( --container-offset ); right: var( --container-offset ); }
cnc-toast .cnc-toast_placement-bottom-left { bottom: var( --container-offset ); left: var( --container-offset ); }
cnc-toast .cnc-toast_placement-bottom-center { bottom: var( --container-offset ); left: 50%; translate: -50% 0; }
cnc-toast .cnc-toast_placement-bottom-right { right: var( --container-offset ); bottom: var( --container-offset ); }
cnc-toast [class*="cnc-toast_placement-bottom"] { --stack-origin: bottom center; --entry-shift: 20px; display: flex; flex-direction: column-reverse; }
cnc-toast [class*="cnc-toast_placement-top"]:not(.is-expanded) .cnc-toast_item:not(:first-of-type):not(.is-buffered):not(.is-dismissing) { margin-top: calc( var( --stack-offset ) - var( --card-height ) ); }
cnc-toast [class*="cnc-toast_placement-bottom"]:not(.is-expanded) .cnc-toast_item:not(:first-of-type):not(.is-buffered):not(.is-dismissing) { margin-bottom: calc( var( --stack-offset ) - var( --card-height ) ); }
cnc-toast [class*="cnc-toast_placement-top"].is-expanded .cnc-toast_item:not(:first-of-type):not(.is-buffered):not(.is-dismissing) { margin-top: var( --container-gap ); }
cnc-toast [class*="cnc-toast_placement-bottom"].is-expanded .cnc-toast_item:not(:first-of-type):not(.is-buffered):not(.is-dismissing) { margin-bottom: var( --container-gap ); }
cnc-toast .cnc-toast_tone-primary { --tone-color: var( --color-primary-600 , #155eef ); }
cnc-toast .cnc-toast_tone-success { --tone-color: var( --color-success-600 , #079455 ); }
cnc-toast .cnc-toast_tone-warning { --tone-color: var( --color-warning-600 , #dc6803 ); }
cnc-toast .cnc-toast_tone-danger { --tone-color: var( --color-danger-600 , #d92d20 ); }
cnc-toast .cnc-toast_tone-info { --tone-color: var( --color-info-600 , #0ba5ec ); }
cnc-toast .cnc-toast_item.is-expanded { transform: none; filter: blur( 0 ); opacity: 1; }
cnc-toast .cnc-toast_item.is-measuring + article { transform: none; transition: none; }
cnc-toast .cnc-toast_item.is-buffered { display: none; }
cnc-toast .cnc-toast_item.is-measuring { visibility: hidden; }
cnc-toast .cnc-toast_item.is-entering { animation: cnc-toast-cnc-toast-fly-in var( --item-transition-duration ) var( --item-transition-timing ) backwards; }
cnc-toast .cnc-toast_item.is-expanded.is-entering { animation-name: cnc-toast-cnc-toast-fly-in; }
cnc-toast .cnc-toast_item.is-expanded.is-promoting { animation: cnc-toast-cnc-toast-promote-in var( --item-exit-duration , 400ms ) var( --item-transition-timing ) both; }
cnc-toast .cnc-toast_item.is-dismissing { grid-template-rows: 0fr; margin-block: 0; pointer-events: none; opacity: 0; transform: translateY( var( --entry-shift ) ) scale( 0.98 ); transition-duration: var( --item-exit-duration , 400ms ); }
cnc-toast .cnc-toast_item.is-expanded.is-dismissing { transform: scale( 0.98 ); }
cnc-toast .cnc-toast_close:hover, cnc-toast .cnc-toast_close:focus-visible { opacity: 1; }
@keyframes cnc-toast-cnc-toast-fly-in {
  from { opacity: 0; transform: translateY( var( --entry-shift ) ) scale( 0.98 ); }
  to { opacity: 1; transform: translateY( 0 ) scale( 1 ); }
}
@keyframes cnc-toast-cnc-toast-promote-in {
  from { grid-template-rows: 0fr; opacity: 0; }
  to { grid-template-rows: 1fr; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
cnc-toast .cnc-toast_item { transition-duration: 1ms; }
cnc-toast .cnc-toast_item.is-entering { animation-duration: 1ms; }
cnc-toast .cnc-toast_item.is-promoting { animation-duration: 1ms; }
}
}
@layer app-widgets {
cnc-toggle { line-height: 1; display: inline-flex; align-items: center; }
cnc-toggle .toggle-wrapper.disabled { opacity: 70%; cursor: not-allowed; }
cnc-toggle .toggle-wrapper.readonly { pointer-events: none; }
cnc-toggle .track { border: 2px solid transparent; cursor: pointer; }
cnc-toggle .track.off { background-color: var(--color-neutral-300); }
.dark cnc-toggle .track.off { background-color: var(--color-neutral-600); }
cnc-toggle .track.on { background-color: var(--color-primary-500); }
.dark cnc-toggle .track.on { background-color: var(--color-primary-600); }
cnc-toggle .track:focus-within { outline-offset: 2px; outline-style: var(--tw-outline-style); outline-width: 2px; outline-color: var(--color-primary-500); }
cnc-toggle .thumb { box-shadow: 0 1px 3px rgba( 0 , 0 , 0 , 0.2 ); transition: transform 0.2s ease-in-out; }
cnc-toggle .thumb.on { transform: translateX( 0.875rem ); }
cnc-toggle .thumb.off { transform: translateX( -0.375rem ); }
cnc-toggle .thumb.on { border-color: var(--color-primary-500); }
.dark cnc-toggle .thumb.on { border-color: var(--color-primary-600); }
cnc-toggle .toggle-wrapper.disabled .track { cursor: not-allowed; }
cnc-toggle .toggle-wrapper.disabled .label-left, cnc-toggle .toggle-wrapper.disabled .label-right { cursor: not-allowed; }
}
@layer app-widgets {
cnc-tooltip[shape="rounded"], cnc-tooltip:not([shape]) { --shape-border-radius: var( --shape-border-radius-rounded , var( --radius-md , 0.375rem ) ); }
cnc-tooltip[shape="pill"] { --shape-border-radius: var( --radius-full , 9999px ); }
cnc-tooltip[shape="circle"] { --shape-border-radius: 50%; }
cnc-tooltip[shape="square"], cnc-tooltip[shape="rectangle"] { --shape-border-radius: 0; }
cnc-tooltip[size="xxs"] { --content-padding: 0.25rem 0.5rem; --text-font-size: 0.6875rem; --description-font-size: 0.625rem; }
cnc-tooltip[size="xs"] { --content-padding: 0.375rem 0.625rem; --text-font-size: 0.75rem; --description-font-size: 0.6875rem; }
cnc-tooltip[size="sm"] { --content-padding: 0.375rem 0.75rem; --text-font-size: 0.8125rem; --description-font-size: 0.75rem; }
cnc-tooltip[size="md"], cnc-tooltip:not([size]) { --content-padding: 0.5rem 0.75rem; --text-font-size: 0.875rem; --description-font-size: 0.8125rem; }
cnc-tooltip[size="lg"] { --content-padding: 0.625rem 0.875rem; --text-font-size: 1rem; --description-font-size: 0.875rem; }
cnc-tooltip[size="xl"] { --content-padding: 0.75rem 1rem; --text-font-size: 1.125rem; --description-font-size: 1rem; }
cnc-tooltip[size="2xl"] { --content-padding: 0.875rem 1.125rem; --text-font-size: 1.25rem; --description-font-size: 1.125rem; }
cnc-tooltip { --content-border-radius: var( --shape-border-radius , 0 ); --content-gap: 0.125rem; --description-opacity: 0.75; --description-font-weight: 500; --popup-transition-duration: 120ms; --popup-transition-timing: ease-out; --popup-transform-origin: center; --popup-translate-y-closed: 0.125rem; --popup-scale-closed: 0.95; --text-font-weight: 600; }
cnc-tooltip:not([kind]), cnc-tooltip[kind="filled"] { --content-shadow: 0 4px 12px rgb( 0 0 0 / 15% ); --content-bg: var( --color-neutral-900 , rgb( 23 23 23 ) ); --content-text-color: var( --color-neutral-100 , rgb( 245 245 245 ) ); --arrow-bg: var( --content-bg ); }
.dark cnc-tooltip:not([kind]), .dark cnc-tooltip[kind="filled"] { --content-shadow: 0 4px 12px rgba( 253 , 253 , 253 , 0.15 ); --content-bg: var( --color-neutral-50 , white ); --content-text-color: var( --color-neutral-700 , rgb( 64 64 64 ) ); --arrow-bg: var( --content-bg ); }
cnc-tooltip .cnc-tooltip_popup { position: absolute; }
cnc-tooltip .cnc-tooltip_content { max-inline-size: var( --content-max-inline-size , calc( 100vw - 0.5rem ) ); gap: var( --content-gap ); padding: var( --content-padding ); color: var( --content-text-color ); background: var( --content-bg ); border-radius: var( --content-border-radius ); box-shadow: var( --content-shadow ); overflow-wrap: anywhere; }
cnc-tooltip .cnc-tooltip_text { font-size: var( --text-font-size ); font-weight: var( --text-font-weight ); }
cnc-tooltip .cnc-tooltip_description { color: var( --description-text-color , currentColor ); font-size: var( --description-font-size ); font-weight: var( --description-font-weight ); opacity: var( --description-opacity ); }
cnc-tooltip .cnc-tooltip_arrow { inline-size: 10px; block-size: 10px; background: var( --arrow-bg ); transform: rotate( 45deg ); }
cnc-tooltip .cnc-tooltip_wrapper.open { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d( 0 , 0 , 0 ) scale3d( 1 , 1 , 1 ) rotate( 0deg ); }
cnc-tooltip .cnc-tooltip_wrapper.close { visibility: visible; opacity: 0; pointer-events: none; transform: translate3d( 0 , var( --popup-translate-y-closed ) , 0 ) scale3d( var( --popup-scale-closed ) , var( --popup-scale-closed ) , var( --popup-scale-closed ) ) rotate( 0deg ); animation: cnc-tooltip-cnc-tooltip-hide 0s var( --popup-transition-duration ) forwards; }
cnc-tooltip .cnc-tooltip_wrapper { transform-origin: var( --popup-transform-origin ); transition: opacity var( --popup-transition-duration ) var( --popup-transition-timing ) , transform var( --popup-transition-duration ) var( --popup-transition-timing ); will-change: opacity , transform; }
cnc-tooltip .cnc-tooltip_wrapper.open { animation: none; }
cnc-tooltip[animation="none"] { --popup-transition-duration: 0ms; }
@media (prefers-reduced-motion: reduce) {
cnc-tooltip { --popup-transition-duration: 0ms; }
}
@keyframes cnc-tooltip-cnc-tooltip-hide {
  to { visibility: hidden; }
}
}
@layer app-widgets {
cnc-tree .tree-row { padding-left: 0.25rem; transition: background 0.15s; }
cnc-tree .tree-row.condensed { padding-block: calc(var(--box-spacing) * 1); }
cnc-tree .tree-row:hover { background-color: var(--color-neutral-100); }
.dark cnc-tree .tree-row:hover { background-color: var(--color-neutral-700); }
cnc-tree .tree-row.active { color: var(--color-primary-600); background-color: var(--color-neutral-100); }
.dark cnc-tree .tree-row.active { color: var(--color-primary-400); background-color: #1e3a5f; }
cnc-tree .tree-row.highlighted { color: var(--color-neutral-500); background-color: var(--color-neutral-100); }
.dark cnc-tree .tree-row.highlighted { color: var(--color-neutral-200); background-color: var(--color-neutral-800); }
cnc-tree .toggle-icon { margin-right: 0.25rem; margin-left: -0.25rem; transition: color 0.15s , transform 0.15s; }
cnc-tree .collapsed > .tree-row > .toggle-icon { transform: rotate( -90deg ); }
cnc-tree .toggle-icon.right { margin-left: 0.5rem; margin-right: -0.25rem; }
cnc-tree .tree-row:hover .toggle-icon { color: var(--color-neutral-600); }
.dark cnc-tree .tree-row:hover .toggle-icon { color: var(--color-neutral-200); }
cnc-tree .toggle-spacer { margin-right: 0.25rem; margin-left: -0.25rem; }
cnc-tree .node-icon { transition: color 0.15s; }
cnc-tree .tree-row:hover .node-icon { color: var(--color-neutral-600); }
.dark cnc-tree .tree-row:hover .node-icon { color: var(--color-neutral-200); }
}
@layer app-widgets {
cnc-tree-directory .tree-row { padding-left: 0.25rem; transition: background 0.15s; }
cnc-tree-directory .tree-row:hover { background-color: var(--color-neutral-100); }
.dark cnc-tree-directory .tree-row:hover { background-color: var(--color-neutral-700); }
cnc-tree-directory .tree-row.active { color: var(--color-primary-600); background-color: var(--color-neutral-100); }
.dark cnc-tree-directory .tree-row.active { color: var(--color-primary-400); background-color: #1e3a5f; }
cnc-tree-directory .tree-row.highlighted { color: var(--color-neutral-500); background-color: var(--color-neutral-100); }
.dark cnc-tree-directory .tree-row.highlighted { color: var(--color-neutral-200); background-color: var(--color-neutral-800); }
cnc-tree-directory .toggle-icon { margin-right: 0.25rem; margin-left: -0.25rem; transition: color 0.15s , transform 0.15s; }
cnc-tree-directory .collapsed > .tree-row > .toggle-icon { transform: rotate( -90deg ); }
cnc-tree-directory .tree-row:hover .toggle-icon { color: var(--color-neutral-600); }
.dark cnc-tree-directory .tree-row:hover .toggle-icon { color: var(--color-neutral-200); }
cnc-tree-directory .folder-icon, cnc-tree-directory .file-icon { transition: color 0.15s; }
cnc-tree-directory .tree-row:hover .folder-icon, cnc-tree-directory .tree-row:hover .file-icon { color: var(--color-neutral-600); }
.dark cnc-tree-directory .tree-row:hover .folder-icon, .dark cnc-tree-directory .tree-row:hover .file-icon { color: var(--color-neutral-200); }
}
@layer app-widgets {
cnc-treetable .tree-table { display: inline-grid; row-gap: 0; grid-auto-flow: column; grid-auto-columns: max-content; white-space: nowrap; column-gap: 10px; user-select: none; width: 100%; }
cnc-treetable .tree-cell { overflow: hidden; min-height: 0; }
cnc-treetable .--item-master-cell { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
cnc-treetable .tree-group { display: grid; transition: grid-template-rows 0.3s ease-out; grid-template-columns: subgrid; grid-column: 1 / var( --columns-count ); grid-template-rows: 1fr; }
cnc-treetable .tree-group.collapsed { grid-template-rows: 0fr; }
cnc-treetable .tree-group-inner { display: grid; grid-template-columns: subgrid; grid-column: 1 / var( --columns-count ); overflow: hidden; min-height: 0; grid-template-rows: 1fr; }
cnc-treetable .tree-row { display: grid; grid-template-columns: subgrid; grid-column: 1 / var( --columns-count ); grid-template-rows: 1fr; grid-auto-flow: column; grid-auto-columns: max-content; white-space: nowrap; padding: 0.25rem 0; }
cnc-treetable .tree-row:hover { background-color: var(--color-slate-50); }
.dark cnc-treetable .tree-row:hover { background-color: var(--color-slate-800); }
cnc-treetable .tree-row.active { background-color: var(--color-primary-50); color: var(--color-primary-700); }
.dark cnc-treetable .tree-row.active { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); color: var(--color-primary-300); }
cnc-treetable .collapsed input { display: none; }
cnc-treetable .indentation { display: inline-block; flex-shrink: 0; }
cnc-treetable .toggle-btn { transition: transform 0.2s; }
cnc-treetable .toggle-btn.collapsed-icon { transform: rotate( -90deg ); }
cnc-treetable .item.dragging-hidden { opacity: 0.2; }
cnc-treetable .ghost { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); border-radius: 0.25rem; }
cnc-treetable .ghost .indentation { opacity: 0; }
cnc-treetable .spacer { overflow: hidden; opacity: 0; color: transparent; grid-column: 1 / var( --columns-count ); transition: height 0.25s; opacity: 0.5; background-color: var(--color-primary-100); border-radius: 0.25rem; }
.dark cnc-treetable .spacer { background-color: color-mix(in oklab, var(--color-primary-900) 20%, transparent); }
cnc-treetable .item-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-treetable .toggle-cell { min-width: 1.5rem; display: flex; align-items: center; justify-content: center; }
}
@layer app-widgets {
cnc-treetable2[virtual] { height: 100%; min-height: 0; }
cnc-treetable2 .tree-table-virtual-host { height: 100%; min-height: 0; outline: none; }
cnc-treetable2 .tree-table-virtual-host:focus-visible { outline: 2px solid var( --color-primary-500 , #3b82f6 ); outline-offset: -2px; border-radius: 0.25rem; }
cnc-treetable2 .tree-table { display: inline-grid; row-gap: 0; grid-auto-flow: column; grid-auto-columns: max-content; white-space: nowrap; column-gap: 5px; user-select: none; width: 100%; --columns-count: 5; }
cnc-treetable2:not([drag]) .tree-table, cnc-treetable2[drag="row"] .tree-table { grid-template-columns: 1fr min-content min-content; }
cnc-treetable2[drag="left"] .tree-table { grid-template-columns: min-content 1fr min-content; }
cnc-treetable2 .tree-cell { overflow: hidden; min-height: 0; }
cnc-treetable2 .--item-master-cell { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
cnc-treetable2 .tree-group { display: grid; grid-template-columns: subgrid; grid-column: 1 / var( --columns-count ); grid-template-rows: 1fr; }
cnc-treetable2 .tree-group.animating { transition: grid-template-rows 0.3s ease-out; }
cnc-treetable2 .tree-group.collapsed { grid-template-rows: 0fr; }
cnc-treetable2 .tree-group-inner { display: grid; grid-template-columns: subgrid; grid-column: 1 / var( --columns-count ); overflow: hidden; min-height: 0; grid-template-rows: 1fr; }
cnc-treetable2 .tree-row { display: grid; grid-template-columns: subgrid; grid-column: 1 / var( --columns-count ); grid-template-rows: 1fr; grid-auto-flow: column; grid-auto-columns: max-content; white-space: nowrap; }
cnc-treetable2 .tree-row:hover { --toggle-btn-bg: var( --color-neutral-50 ); background-color: var(--color-neutral-50); }
.dark cnc-treetable2 .tree-row:hover { background-color: var(--color-neutral-800); }
cnc-treetable2 .tree-row.active { --toggle-btn-bg: var( --color-primary-50 ); background-color: var(--color-primary-50); color: var(--color-primary-700); }
.dark cnc-treetable2 .tree-row.active { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); color: var(--color-primary-300); }
.dark cnc-treetable2 .tree-row.active { --toggle-btn-bg: var( --color-primary-900 ); }
.dark cnc-treetable2 .tree-row:hover { --toggle-btn-bg: var( --color-neutral-800 ); }
cnc-treetable2 .indentation { display: flex; flex-shrink: 0; align-items: stretch; padding-left: 5px; }
cnc-treetable2 .branch-cell { position: relative; width: 16px; height: 100%; overflow: hidden; margin-right: 4px; flex-shrink: 0; }
cnc-treetable2 .branch-vline { width: 50%; height: 100%; left: 0; border-right-width: 2px; border-right-style: var(--tw-border-style); border-color: var(--color-neutral-200); }
.dark cnc-treetable2 .branch-vline { border-color: var(--color-neutral-700); }
cnc-treetable2 .branch-corner { position: absolute; width: 16px; height: 18px; top: -4px; right: -6px; border-radius: 4px; border-width: 2px; border-style: var(--tw-border-style); border-color: var(--color-neutral-200); }
.dark cnc-treetable2 .branch-corner { border-color: var(--color-neutral-700); }
cnc-treetable2 .branch-cell.expander-cell { display: flex; align-items: center; justify-content: center; }
cnc-treetable2 .branch-cell.expander-cell .branch-vline, cnc-treetable2 .branch-cell.expander-cell .branch-corner { position: absolute; z-index: 0; }
cnc-treetable2 { --_expander-chevron: var( --icon-chevron-svg , url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' stroke='black' stroke-width='2.25' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E" ) ); --_expander-plus: var( --icon-plus-square-svg , url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M8 12h8m-4-4v8'/%3E%3C/g%3E%3C/svg%3E" ) ); --_expander-minus: var( --icon-minus-square-svg , url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M8 12h8'/%3E%3C/g%3E%3C/svg%3E" ) ); }
cnc-treetable2 .branch-cell.expander-cell .toggle-btn { position: relative; z-index: 1; display: inline-block; flex-shrink: 0; left: -1px; bottom: -2px; background: transparent; }
cnc-treetable2 .branch-cell.expander-cell .toggle-btn::before { content: ""; position: absolute; background: var( --toggle-btn-bg , white ); pointer-events: none; z-index: 0; }
cnc-treetable2 .branch-cell.expander-cell .toggle-btn::after { content: ""; position: absolute; inset: 0; background: currentColor; pointer-events: none; z-index: 1; }
cnc-treetable2[kind="files"] .branch-cell.expander-cell .toggle-btn, cnc-treetable2[expander="plus"] .branch-cell.expander-cell .toggle-btn { width: 0.75em; height: 0.75em; }
cnc-treetable2[kind="files"] .branch-cell.expander-cell .toggle-btn::before, cnc-treetable2[expander="plus"] .branch-cell.expander-cell .toggle-btn::before { inset: 1px; }
cnc-treetable2[kind="files"] .branch-cell.expander-cell .toggle-btn::after, cnc-treetable2[expander="plus"] .branch-cell.expander-cell .toggle-btn::after { -webkit-mask: var( --_expander-minus ) center / contain no-repeat; mask: var( --_expander-minus ) center / contain no-repeat; }
cnc-treetable2[kind="files"] .branch-cell.expander-cell .toggle-btn.collapsed-icon::after, cnc-treetable2[expander="plus"] .branch-cell.expander-cell .toggle-btn.collapsed-icon::after { -webkit-mask: var( --_expander-plus ) center / contain no-repeat; mask: var( --_expander-plus ) center / contain no-repeat; }
cnc-treetable2:not([kind="files"]):not([expander="plus"]) .branch-cell.expander-cell .toggle-btn, cnc-treetable2[kind="chevron"] .branch-cell.expander-cell .toggle-btn, cnc-treetable2[expander="chevron"] .branch-cell.expander-cell .toggle-btn { width: 1em; height: 1em; }
cnc-treetable2:not([kind="files"]):not([expander="plus"]) .branch-cell.expander-cell .toggle-btn::before, cnc-treetable2[kind="chevron"] .branch-cell.expander-cell .toggle-btn::before, cnc-treetable2[expander="chevron"] .branch-cell.expander-cell .toggle-btn::before { inset: 2px; }
cnc-treetable2:not([kind="files"]):not([expander="plus"]) .branch-cell.expander-cell .toggle-btn::after, cnc-treetable2[kind="chevron"] .branch-cell.expander-cell .toggle-btn::after, cnc-treetable2[expander="chevron"] .branch-cell.expander-cell .toggle-btn::after { -webkit-mask: var( --_expander-chevron ) center / contain no-repeat; mask: var( --_expander-chevron ) center / contain no-repeat; transition: transform 160ms ease; transform: rotate( 180deg ); }
cnc-treetable2:not([kind="files"]):not([expander="plus"]) .branch-cell.expander-cell .toggle-btn.collapsed-icon::after, cnc-treetable2[kind="chevron"] .branch-cell.expander-cell .toggle-btn.collapsed-icon::after, cnc-treetable2[expander="chevron"] .branch-cell.expander-cell .toggle-btn.collapsed-icon::after { transform: rotate( 0deg ); }
cnc-treetable2 .toggle-cell.toggle-cell-vacant { min-width: 0; }
cnc-treetable2 .toggle-btn .expander-chevron { transition: transform 0.2s; }
cnc-treetable2 .toggle-btn.collapsed-icon .expander-chevron { transform: rotate( -90deg ); }
cnc-treetable2 .toggle-btn .expander-closed { display: none; }
cnc-treetable2 .toggle-btn.collapsed-icon .expander-open { display: none; }
cnc-treetable2 .toggle-btn.collapsed-icon .expander-closed { display: inline-flex; }
cnc-treetable2 .item.dragging, cnc-treetable2 .tree-group.drag-source-group { display: none; }
cnc-treetable2 [data-drag-preview-last] { display: none; }
cnc-treetable2 .tree-dragging .tree-row { transition: transform 0.15s ease-out; will-change: transform; }
cnc-treetable2 .tree-dragging .tree-group:not(.collapsed) > .tree-group-inner { overflow: visible; }
cnc-treetable2 .drag-ghost { pointer-events: none; z-index: 50; opacity: 0.7; background-color: var( --color-neutral-50 ); outline: 1px solid var( --color-primary-300 ); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
.dark cnc-treetable2 .drag-ghost { background-color: var(--color-neutral-900); }
cnc-treetable2 .drag-ghost .indentation { transition: width 0.2s cubic-bezier( 0.22 , 1 , 0.36 , 1 ); }
cnc-treetable2 .drag-ghost .indentation .branch-cell:last-child { margin-left: auto; }
@media (prefers-reduced-motion: reduce) {
cnc-treetable2 .tree-dragging .tree-row, cnc-treetable2 .drag-ghost .indentation { transition: none; }
}
cnc-treetable2 .item.nest-target { background-color: color-mix( in srgb , var( --color-primary-500 ) 12% , transparent ); box-shadow: inset 2px 0 0 0 var( --color-primary-500 ); }
cnc-treetable2 .tree-dragging .item:not(.dragging):hover { background-color: inherit; }
cnc-treetable2 .item-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
cnc-treetable2 .toggle-cell { min-width: 1.5rem; display: flex; align-items: center; justify-content: center; }
}
@layer app-widgets {
cnc-view { --display-min-width: 250px; }
cnc-view .view-container { grid-template-columns: repeat( auto-fill , minmax( var( --display-min-width ) , 1fr ) ); }
}
@layer app-widgets {
cnc-virtual-list { display: block; }
cnc-virtual-list .vlist-scroll { height: 100%; overflow: auto; }
cnc-virtual-list .vlist-spacer { position: relative; }
cnc-virtual-list .vlist-items { box-sizing: border-box; }
cnc-virtual-list .vlist-item { display: flex; align-items: center; gap: calc(var(--spacing) * 2); padding-inline: calc(var(--box-spacing) * 4); padding-block: calc(var(--box-spacing) * 2); border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); border-color: var(--color-slate-200); }
cnc-virtual-list .vlist-item-label { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); font-weight: var(--font-weight-medium); color: var(--color-slate-800); }
cnc-virtual-list .vlist-item-desc { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-slate-500); }
}
@layer app-widgets {
cnc-virtual-rows { height: 100%; min-height: 0; display: block; }
cnc-virtual-rows .vrows-scroll { height: 100%; min-height: 0; overflow: auto; }
cnc-virtual-rows .vrows-spacer { width: 100%; position: relative; }
cnc-virtual-rows .vrows-window { will-change: transform; box-sizing: border-box; position: absolute; inset-inline: calc(var(--spacing) * 0); top: 0px; }
}
@layer app-widgets {
cnc-wizard { display: block; height: 100%; container-type: inline-size; }
cnc-wizard .wizard-shell { border: 1px solid #e5e7eb; border-radius: 0.75rem; overflow: hidden; height: 100%; }
cnc-wizard .wizard-steps { flex-direction: column; border-right-width: 1px; border-right-style: var(--tw-border-style); border-color: var(--color-neutral-200); padding-block: calc(var(--box-spacing) * 6); padding-inline: calc(var(--box-spacing) * 4); }
@container (max-width: 36rem) {
cnc-wizard .wizard-shell { flex-direction: column; }
cnc-wizard .wizard-shell > .wizard-steps { flex-direction: row; overflow-x: auto; border-right-width: 0px; border-right-style: var(--tw-border-style); border-bottom-width: 1px; border-bottom-style: var(--tw-border-style); padding: calc(var(--box-spacing) * 3); }
cnc-wizard .wizard-shell > .wizard-steps > .wizard-step { flex-shrink: 0; }
}
}
@layer app-widgets {
cnc-workspace .file-tree-blink { animation: cnc-workspace-file-tree-blink-anim 0.5s ease-out; }
@keyframes cnc-workspace-file-tree-blink-anim {
  0% { background-color: rgba( 59 , 130 , 246 , 0.3 ); }
  50% { background-color: rgba( 59 , 130 , 246 , 0.3 ); }
  100% { background-color: transparent; }
}
}
@layer app-widgets {
cnc-workspace-code .flash-line-highlight { background-color: rgba( 251 , 191 , 36 , 0.5 ) !important; animation: cnc-workspace-code-quick-flash 0.4s ease-out; }
cnc-workspace-code .dom-inspector-highlight { background-color: rgba( 59 , 130 , 246 , 0.15 ) !important; border-left: 2px solid rgba( 59 , 130 , 246 , 0.6 ); }
@keyframes cnc-workspace-code-quick-flash {
  0% { background-color: rgba( 251 , 191 , 36 , 0.7 ); }
  50% { background-color: rgba( 251 , 191 , 36 , 0.7 ); }
  100% { background-color: transparent; }
}
}
@layer app-widgets {
cnc-workspace-layout { display: flex; overflow: hidden; width: 100%; height: 100%; position: relative; display: block; }
cnc-workspace-layout .empty-state { color: #a3a3a3; }
cnc-workspace-layout .layout-node { min-width: 0; min-height: 0; }
cnc-workspace-layout .tabs-container { min-width: 0; min-height: 0; }
cnc-workspace-layout .tab-bar { background: #f5f5f5; border-color: #e5e5e5; scrollbar-width: none; }
.dark cnc-workspace-layout .tab-bar { background-color: var(--color-neutral-900); }
cnc-workspace-layout .tab-bar-horizontal { display: flex; flex-direction: row; overflow-x: auto; align-items: center; padding-inline: calc(var(--box-spacing) * 1); }
cnc-workspace-layout .tab-bar-vertical { display: flex; flex-direction: column; overflow-y: auto; align-items: center; padding-block: calc(var(--box-spacing) * 1); }
cnc-workspace-layout .tab-bar-top { border-bottom: 1px solid #e5e5e5; }
.dark cnc-workspace-layout .tab-bar-top { border-bottom-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-bar-bottom { border-top: 1px solid #e5e5e5; }
.dark cnc-workspace-layout .tab-bar-bottom { border-top-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-bar-left { border-right: 1px solid #e5e5e5; }
.dark cnc-workspace-layout .tab-bar-left { border-right-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-bar-right { border-left: 1px solid #e5e5e5; }
.dark cnc-workspace-layout .tab-bar-right { border-left-color: var(--color-neutral-700); }
cnc-workspace-layout .tab { cursor: pointer; }
cnc-workspace-layout .tab-content-h { border-bottom: 2px solid transparent; transition: background 0.15s , border-color 0.15s; }
cnc-workspace-layout .tab-content-h:hover { background-color: var(--color-neutral-200); }
.dark cnc-workspace-layout .tab-content-h:hover { background-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-content-h.active { background: white; border-bottom-color: var( --color-primary-500 ); }
.dark cnc-workspace-layout .tab-content-h.active { background-color: var(--color-neutral-900); }
cnc-workspace-layout .tab-content-v { transition: background 0.15s; }
cnc-workspace-layout .tab-content-v:hover { background-color: var(--color-neutral-200); }
.dark cnc-workspace-layout .tab-content-v:hover { background-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-content-v.active { background: white; box-shadow: 0 1px 3px rgba( 0 , 0 , 0 , 0.1 ); }
.dark cnc-workspace-layout .tab-content-v.active { background-color: var(--color-neutral-800); }
cnc-workspace-layout .tab-pin:hover { background-color: var(--color-gray-100); }
.dark cnc-workspace-layout .tab-pin:hover { background-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-pin.pinned { color: var( --color-primary-500 ); }
cnc-workspace-layout .tab-close:hover { background-color: var(--color-gray-100); }
.dark cnc-workspace-layout .tab-close:hover { background-color: var(--color-neutral-700); }
cnc-workspace-layout .tab-panels { min-height: 0; min-width: 0; }
cnc-workspace-layout .panel-empty { color: #a3a3a3; }
cnc-workspace-layout .gutter { transition: background 0.15s; }
cnc-workspace-layout .gutter-v { cursor: col-resize; }
cnc-workspace-layout .gutter-h { cursor: row-resize; }
}
