@import '@taiga-ui/core/styles/taiga-ui-local'; * { box-sizing: border-box; } h2 { line-height: unset; } ul { padding-left: 40px; list-style-type: disc; } hr { height: 1px; background: var(--tui-background-neutral-1); border: none; } :root { --bumper: 0.375rem; } .g-page { @include scrollbar-hidden(); display: block; height: calc(100vh - 3.875rem); padding: 1px 2rem 1rem; box-sizing: border-box; overflow: auto; isolation: isolate; backdrop-filter: blur(2rem); border-radius: 0.375rem; background-size: 1px 100%; background-repeat: no-repeat; background-position: top left, top right; // TODO: Theme background-color: color-mix( in hsl, var(--tui-background-base) 90%, transparent ); background-image: linear-gradient( to bottom, rgba(255, 255, 255, 0.1), transparent ), linear-gradient(to bottom, rgba(255, 255, 255, 0.1), transparent); box-shadow: 0 0.25rem 0.125rem rgba(0, 0, 0, 0.25), 0 0 0.5rem rgba(0, 0, 0, 0.3), inset 0 -1px rgba(0, 0, 0, 0.5), inset 0 1px rgba(255, 255, 255, 0.1); tui-root._mobile & { // For tui-tab-bar height: calc(100vh - 3.875rem - var(--tui-height-l)); } } .g-subpage { height: 100%; min-height: fit-content; flex: 1; padding: 1rem; } .g-aside { position: sticky; top: 1px; left: 1px; margin: 1px; width: 16rem; padding: 0.5rem; text-transform: capitalize; box-shadow: 1px 0 var(--tui-border-normal); backdrop-filter: blur(1rem); background-color: color-mix( in hsl, var(--tui-background-base) 90%, transparent ); } .g-card { position: relative; display: flex; flex-direction: column; padding: 3.25rem 1rem 0.375rem; border-radius: 0.5rem; overflow: hidden; background-color: color-mix(in hsl, var(--start9-base-1) 50%, transparent); background-image: linear-gradient( to bottom, var(--tui-background-neutral-2), transparent ), linear-gradient(to bottom, var(--tui-background-neutral-2), transparent); background-size: 1px 100%; background-repeat: no-repeat; background-position: top left, top right; box-sizing: border-box; box-shadow: 0 0.25rem 0.125rem rgba(0, 0, 0, 0.25), 0 -0.125rem 0.25rem rgba(55, 155, 255, 0.08), 0 0 0.5rem rgba(0, 0, 0, 0.3), inset 0 -0.125rem rgba(255, 255, 255, 0.03), inset 0 2px rgba(255, 255, 255, 0.1), inset 0 1px rgba(255, 255, 255, 0.15), inset 0 0 1rem rgba(0, 0, 0, 0.25); &:is(form) { padding-top: 4rem; } [tuiCell] { margin: 0 -0.625rem; border-radius: var(--tui-radius-s); &:not(:last-child)::after { content: ''; position: absolute; top: 100%; left: 1rem; right: 1rem; height: 1px; background: var(--tui-background-neutral-1); } } > table[tuiTable] { margin: 0 -0.5rem; td:empty, th:empty { display: none; } } > header { position: absolute; inset: 0 0 auto 0; height: 3rem; display: flex; align-items: center; gap: 0.25rem; padding: 0 1rem; font: var(--tui-font-text-l); font-weight: bold; background: var(--tui-background-neutral-1); } > footer { display: flex; gap: 1rem; justify-content: flex-end; padding: 1rem 0 0.5rem; } } .g-table:not([tuiTable]) { width: stretch; border: 1px solid var(--tui-background-neutral-1); border-spacing: 0; border-collapse: collapse; border-radius: var(--tui-radius-s); overflow: hidden; box-shadow: inset 0 0 0 1px var(--tui-background-neutral-1); td, th { position: relative; font: var(--tui-font-text-s); height: 2rem; padding: 0.5rem 0.75rem; border: 1px solid var(--tui-background-neutral-1); border-left: 0; border-right: 0; text-overflow: ellipsis; } th { background: var(--tui-background-neutral-1); font-weight: bold; text-align: left; } tui-root._mobile & { min-width: 0; border: none; box-shadow: none; border-radius: 0; color: var(--tui-text-secondary); thead { display: none; } tr { position: relative; display: grid; padding: 0.5rem 0; box-shadow: inset 0 -1px var(--tui-background-neutral-1); &:last-child { box-shadow: none; } } tr:has(:checked) { box-shadow: inset 0 0 0 0.125rem var(--tui-background-accent-1); } td, th { position: static; border: none; padding: 0; &:first-child { font-weight: bold; color: var(--tui-text-primary); } &:not([tuiFade]) { overflow: hidden; } } } } .g-table[tuiTable] { width: stretch; &:not(:has(tbody tr)) { display: none; } tr:not(:last-child) { box-shadow: inset 0 -1px var(--tui-background-neutral-1); } th { text-transform: uppercase; color: var(--tui-text-secondary); background: none; border: none; font: var(--tui-font-text-s); font-weight: bold; text-align: left; padding: 0 0.5rem; } td { padding: 0.5rem; } td:only-child { text-align: center; padding: 1rem; } tui-root._mobile & thead { display: none; } } .g-title { display: flex; align-items: center; gap: 1rem; text-transform: uppercase; font-weight: bold; font-size: 1rem; line-height: 1.5rem; margin: 2rem 0 1rem; color: var(--tui-text-secondary); } .g-buttons { display: flex; justify-content: flex-end; gap: 16px; margin-top: 24px; } .g-action { @include transition(background); @include button-clear(); display: flex; align-items: center; width: stretch; gap: 1rem; text-align: left; font-size: 0.85rem; padding: 0.5rem 1rem; margin: 0 -1rem; line-height: 1.25rem; border-radius: 0.5rem; color: var(--tui-text-primary); } a.g-action, button.g-action { cursor: pointer; &:disabled { pointer-events: none; opacity: var(--tui-disabled-opacity); } &:hover { background: var(--tui-background-neutral-1); } &:not(:last-child) { box-shadow: 0 calc(0.5rem + 1px) 0 -0.5rem var(--tui-background-neutral-1); } } .g-toggle { height: var(--tui-height-l); display: flex; align-items: center; padding: 0 1rem; box-shadow: inset 0 0 0 1px var(--tui-background-neutral-1-hover); font: var(--tui-font-text-l); font-weight: bold; border-radius: var(--tui-radius-m); input { margin-left: auto; } } .g-positive { color: var(--tui-status-positive) !important; } .g-warning { color: var(--tui-status-warning) !important; } .g-negative.g-negative { color: var(--tui-status-negative) !important; } .g-info { color: var(--tui-status-info) !important; } .g-secondary { color: var(--tui-text-secondary) !important; } ng-component { display: block; } svg:not(:root) { overflow: auto; } .g-external-link { color: #50c8ff; }