/* Shared font faces */

/* Ship the app UI font explicitly so browser/OS fallback changes do not restyle the product overnight. */
@font-face {
    font-family: 'Gill Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/sourcesans3/v19/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Ky461EN.ttf') format('truetype');
}

@font-face {
    font-family: 'Gill Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/sourcesans3/v19/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kxm7FEN.ttf') format('truetype');
}

@font-face {
    font-family: 'Gill Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/sourcesans3/v19/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kxf7FEN.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/sourcesans3/v19/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Ky461EN.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/sourcesans3/v19/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kxm7FEN.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/sourcesans3/v19/nwpBtKy2OAdR1K-IwhWudF-R9QMylBJAV3Bo8Kxf7FEN.ttf') format('truetype');
}

/* Universal / Element Selectors */

a {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: large;
    color: #1a73e8; /* standard link blue */
}

blockquote {
    margin: 20px 20px;
    padding-left: 0px;
    position: relative;
}

blockquote p {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    padding: 10;
    line-height: 10px;
}

:root {
    --ux-fixed-header-height: 165px;
    --ux-fixed-header-offset: var(--ux-fixed-header-height);
    --ux-fixed-header-min-height: 125px;
    --ux-content-width: 800px;
    --ux-tool-width: 900px;
}

body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    background-color: #303030;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding-top: var(--ux-fixed-header-offset);
    padding-bottom: 0;
    box-sizing: border-box;
}

button {
    padding: 8px 16px;
    background-color: #404a83;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

button .material-symbols-outlined {
  margin-right: 0;
}

button.contentButton {
    width: 120px;
}

button.contentButtonMain {
    width: 120px;
}

a.contentButton,
a.contentButtonMain,
a.contentChip {
    font-family: inherit;
    font-size: inherit;
    text-decoration: none;
}

a.contentButton,
a.contentButtonMain {
    color: #ffffff;
}

a.contentButton:hover,
a.contentButton:focus-visible,
a.contentButtonMain:hover,
a.contentButtonMain:focus-visible,
a.contentChip:hover,
a.contentChip:focus-visible {
    text-decoration: none;
}

button.generateButton {
    width: 200px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

button.headerButton {
    width: 140px;
}

button:hover {
    background-color: #5c6abb;
}

code {
    background: #1a1d22;
    color: #008f11;
    border-radius: 4px;
    padding: 2px 5px;
    font-size: 96%;
}

hr {
    border-color: rgb(255, 255, 255);
    width: 100%;
}

hr {
    border: none;
    height: 1px;
    background-color: #ffffff;
}

img {
    border: 0px;
    width: 200px;
    height: auto;
}

img.tool-tile {
    max-width: 200px;
    margin: 10px;
    transition: transform 0.2s;
}

img.tool-tile:hover {
    transform: scale(1.1);
}

label.dropdownLabel[for="projectSelection"],
label.dropdownLabel[for="studySelection"] {
    margin-right: 10px;
}

option {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(0, 0, 0);
}

p {
    color: rgb(255, 255, 255);
    line-height: 1.5;
}

pre {
    background: #444a58;
    color: #d4d4d4;
    padding: 16px;
    margin: 12px 0;
    border-radius: 8px;
    overflow-x: auto;
    white-space: pre;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

pre code {
    background: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

pre, code {
    font-family: 'Fira Mono', 'Consolas', 'SFMono-Regular', 'Menlo', monospace;
    font-size: 15px;
    line-height: 1.6;
}

/* Optional: Custom scrollbar for code blocks */
pre::-webkit-scrollbar {
    height: 8px;
    background: transparent;
}

pre::-webkit-scrollbar-thumb {
    background: #444a58;
    border-radius: 4px;
}

select {
    width: 200px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

span {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: #303030;
}

table {
    width: 100%;
}

td {
    box-align: left;
}

ul {
    list-style-type: none;
    padding-left: 0;
}

ul li {
    background: #303030;
    margin: 5px 0;
    padding: 0px;
    border-radius: 5px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: medium;
    color: #ffffff;
}

/* ID Selectors */

#ai-task-indicator,
.ai-header-indicator {
    position: relative;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    font-weight: 700;
    white-space: nowrap;
    z-index: 5;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.08);
    margin-right: 6px;
    margin-left: 0;
}

.ai-header-indicator.is-open {
    background: rgba(255, 255, 255, 0.14);
}

.ai-task-tooltip {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    transform: none;
    z-index: 30;
    width: min(468px, calc(100vw - 24px));
    max-width: none;
    color: #ffffff;
    pointer-events: auto;
}

.ai-task-tooltip-shell {
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    background: #16181f;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
    padding: 10px 12px;
    max-height: 240px;
    overflow: auto;
}

.ai-task-tooltip-title {
    display: block;
    margin: 0 0 8px;
    padding: 0 8px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
}

.ai-task-tooltip-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.ai-task-tooltip-table th,
.ai-task-tooltip-table td {
    padding: 4px 8px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.72rem;
    line-height: 1.25;
    color: #ffffff;
    text-align: left;
    white-space: nowrap;
}

.ai-task-tooltip-table th {
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ai-task-tooltip-table tbody tr + tr td {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ai-task-tooltip-table td:last-child,
.ai-task-tooltip-table th:last-child {
    text-align: right;
}

.ai-task-tooltip-empty {
    display: block;
    padding: 6px 8px 2px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.78);
    white-space: nowrap;
}

.ai-task-tooltip-table[hidden],
.ai-task-tooltip-empty[hidden],
.ai-task-tooltip[hidden] {
    display: none;
}

#ai-task-spinner {
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

#ai-task-spinner.hidden {
    display: none;
}

#chat-container_inner {
    display: flex;
    flex-direction: column;
    height: 300px;
    overflow-y: auto; 
    line-height: 1.5; 
    padding: 8px; 
    text-align: left;
}

#chat-container_outer {
    border-radius: 25px;
    overflow: hidden;
    border: 1px solid rgb(255, 255, 255);
    padding: 10px;
    margin-bottom: 14px;
    box-sizing: border-box;
    text-align: left;
}

#chat-control-container {
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.chat-input-wrap {
    position: relative;
    width: 100%;
    --chat-send-inset: 8px;
}

.chat-input-wrap--composer-scroll {
    --chat-send-inset: 24px;
}

.compose-quick-reply-preview {
    position: absolute;
    left: 8px;
    right: 44px;
    bottom: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    pointer-events: none;
    z-index: 1;
}

.insight-chat-control > .quick-replies {
    margin-top: 0;
}

.insight-explorer-layout {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    width: max-content;
}

.insight-explorer-header {
    width: var(--ux-tool-width);
    max-width: 100%;
}

.insight-explorer-header table {
    width: 100%;
}

.insight-explorer-header .sectionTitle {
    width: 100%;
}

.insight-explorer-main {
    width: var(--ux-tool-width);
    flex: 0 0 var(--ux-tool-width);
    display: flex;
    flex-direction: column;
}

.insight-selected-files-rail {
    flex: 0 0 auto;
    display: flex;
}

.insight-selected-files-rail[hidden] {
    display: none;
}

.structured-composer-host {
    width: 100%;
    min-height: 120px;
    max-height: 220px;
    overflow: auto;
    border-radius: 10px;
    background-color: #222;
    color: #fff;
    border: 1px solid #fff;
    box-sizing: border-box;
    padding: 12px 48px 12px 12px;
}

.schedule-batch-composer {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.persona-definition-composer {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.response-review-composer {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.response-review-composer__heading,
.response-review-composer__section-title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
    color: #f4f8fc;
}

.response-review-composer__hint {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.84rem;
    line-height: 1.4;
    color: #bdd1e4;
}

.response-review-composer__section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.response-review-manual {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 4px;
}

.response-review-manual__label {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.92rem;
    font-weight: 700;
    color: #f4f8fc;
}

.response-review-manual__hint {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.8rem;
    line-height: 1.4;
    color: #bdd1e4;
}

.response-review-manual__input {
    width: 100%;
    min-height: 74px;
    border-radius: 9px;
    border: 1px solid #5f87aa;
    background: #27445f;
    color: #f5fbff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    padding: 8px 10px;
    box-sizing: border-box;
    resize: vertical;
}

.response-review-manual__input:focus-visible {
    outline: 2px solid #8ab5dd;
    outline-offset: 1px;
}

.schedule-batch-composer__heading {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
    color: #f4f8fc;
}

.schedule-batch-composer__hint {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.84rem;
    line-height: 1.4;
    color: #bdd1e4;
}

.schedule-batch-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(148px, 0.9fr);
    gap: 8px 12px;
    align-items: center;
}

.schedule-batch-grid__head {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ec8ed;
}

.schedule-batch-grid__task {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.92rem;
    line-height: 1.35;
    color: #f5fbff;
}

.schedule-batch-grid__date {
    min-width: 0;
}

.schedule-batch-grid__task--invalid {
    color: #ffd6d6;
    font-weight: 700;
}

.schedule-batch-grid__date--invalid {
    background: rgba(170, 54, 70, 0.18);
    border-radius: 10px;
    padding: 4px;
}

.schedule-batch-grid__input {
    width: 100%;
    min-width: 0;
    height: 34px;
    border-radius: 9px;
    border: 1px solid #5f87aa;
    background: #27445f;
    color: #f5fbff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    padding: 0 10px;
    box-sizing: border-box;
}

.schedule-batch-grid__input--button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    appearance: none;
    cursor: pointer;
    text-align: left;
}

.schedule-batch-grid__input--invalid {
    border-color: #f08f99;
    background: #4a2730;
    box-shadow: 0 0 0 1px rgba(240, 143, 153, 0.28);
}

.schedule-batch-grid__input--invalid:focus-visible {
    outline-color: #ffc3cb;
}

.schedule-batch-grid__input:focus-visible {
    outline: 2px solid #8ab5dd;
    outline-offset: 1px;
}

.persona-definition-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
    gap: 8px 12px;
    align-items: start;
}

.persona-definition-grid__head {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ec8ed;
}

.persona-definition-grid__task {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.92rem;
    line-height: 1.35;
    color: #f5fbff;
}

.persona-definition-grid__value {
    min-width: 0;
}

.persona-definition-grid__input {
    width: 100%;
    min-width: 0;
    min-height: 60px;
    border-radius: 9px;
    border: 1px solid #5f87aa;
    background: #27445f;
    color: #f5fbff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    padding: 8px 10px;
    box-sizing: border-box;
    resize: vertical;
}

.persona-definition-grid__input:focus-visible {
    outline: 2px solid #8ab5dd;
    outline-offset: 1px;
}

.response-review-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
    gap: 8px 12px;
    align-items: start;
}

.response-review-grid__head {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ec8ed;
}

.response-review-grid__label {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.92rem;
    line-height: 1.35;
    color: #f5fbff;
}

.response-review-grid__value {
    min-width: 0;
}

.response-review-grid__input,
.response-review-grid__select,
.response-review-grid__textarea {
    width: 100%;
    min-width: 0;
    border-radius: 9px;
    border: 1px solid #5f87aa;
    background: #27445f;
    color: #f5fbff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    box-sizing: border-box;
}

.response-review-grid__input,
.response-review-grid__select {
    min-height: 34px;
    padding: 0 10px;
}

.response-review-grid__textarea {
    min-height: 74px;
    padding: 8px 10px;
    resize: vertical;
}

.response-review-grid__input--button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    appearance: none;
    cursor: pointer;
    text-align: left;
}

.response-review-grid__input:focus-visible,
.response-review-grid__select:focus-visible,
.response-review-grid__textarea:focus-visible {
    outline: 2px solid #8ab5dd;
    outline-offset: 1px;
}

.compose-quick-reply-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 14px;
    padding: 4px 8px;
    background: linear-gradient(180deg, #1f5f3b 0%, #18492d 100%);
    border: 2px solid #8fd8b2;
    color: #f5fff8;
    font-size: 0.82em;
    line-height: 1.2;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#chat-control-container textarea {
    margin-bottom: 0;
    padding-right: 48px;
    padding-bottom: 42px;
    width: 100%;
    box-sizing: border-box;
}

#chat-control-container .chat-send-btn,
#sendBtn.chat-send-btn,
#sendMessageBtn.chat-send-btn {
    position: absolute;
    right: var(--chat-send-inset, 8px);
    bottom: var(--chat-send-inset, 8px);
    width: 30px;
    height: 30px;
    border-radius: 999px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #2f89ee 0%, #1a73e8 100%);
    border: 1px solid #82b8f6;
    box-shadow: 0 6px 18px rgba(12, 20, 35, 0.35);
    transform: translateY(0);
    transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease, border-color 140ms ease;
    z-index: 2;
}

#chat-control-container .chat-send-btn:hover,
#sendBtn.chat-send-btn:hover,
#sendMessageBtn.chat-send-btn:hover {
    background: linear-gradient(180deg, #4495f1 0%, #2b82ec 100%);
    border-color: #a5cdf9;
    box-shadow: 0 10px 24px rgba(12, 20, 35, 0.42);
    transform: translateY(-1px);
}

#chat-control-container .chat-send-btn:focus-visible,
#sendBtn.chat-send-btn:focus-visible,
#sendMessageBtn.chat-send-btn:focus-visible {
    outline: 2px solid #9ac3f7;
    outline-offset: 2px;
}

#chat-control-container .chat-send-btn .material-symbols-outlined,
#sendBtn.chat-send-btn .material-symbols-outlined,
#sendMessageBtn.chat-send-btn .material-symbols-outlined {
    font-size: 16px;
    line-height: 1;
    color: #ffffff;
}

#chat-file-upload {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: #fff;
    padding: 5px;
}

#quantChatInput {
    height: 120px; 
    padding: 10px;
    resize: none;
    overflow-y: auto; 
    border-radius: 10px;
    background-color: #222;
    color: #fff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    border: 1px solid #fff;
}

#content img {
    position: absolute;
    top: -2px;
    right: 8px;
}

#dashboard-link {
    font-family: 'Google Sans', sans-serif;
    font-size: medium;
    font-size: 18px;
    margin-left: 725px;
    margin-right: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    color: rgb(255, 255, 255);
}

#fileDisplay {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
    list-style-type: none;
    text-align: center;
}

#fileList {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255) !important;
}

#fileUpload {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: rgb(255, 255, 255);
}

#folderTree {
    margin-top: 20px;
    list-style-type: none;
    max-width: 300px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255) !important;
}

#gantt {
    display: inline-block;
    min-width: 100%;
}

#gantt svg {
    display: block;
    min-width: 100%; /* allow natural SVG width while keeping scrollbar usable */
}

#gantt-scroll {
    width: 100%;
    max-height: 520px;
    overflow-y: auto;
    overflow-x: auto; /* show horizontal scroll when SVG is wider than the container */
    position: relative;
}

#gantt-sticky-header {
    display: none;
    position: sticky;
    top: 0;
    z-index: 6;
    height: 0;
    margin: 0;
    overflow: visible;
    pointer-events: none;
}

#gantt-sticky-header.is-active {
    display: block;
    height: var(--gantt-sticky-header-height, 0px);
    margin-bottom: calc(-1 * var(--gantt-sticky-header-height, 0px));
    overflow: hidden;
    background: #ffffff;
}

#gantt-sticky-header svg {
    display: block;
    background: #ffffff;
    pointer-events: none;
}

#gantt-wrapper {
    width: 100%;
    min-width: 320px;
    background: #0f1a2a;
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(0,0,0,0.25);
    padding: 12px;
    overflow: hidden;
    box-sizing: border-box;
}

#gantt-wrapper .gantt-viewport {
    width: 100%;
    position: relative;
}

#instructions {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

#metrics-wrapper {
    flex: 1 1 220px;
    width: 100%;
    height: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    background: #0f1a2a;
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(0,0,0,0.25);
    padding: 12px;
    box-sizing: border-box;
    position: relative;
}

#mini-toolbox-title {
    font-family: 'Google Sans', sans-serif;
    font-size: small;
    font-size: 18px;
    margin-left: 20px;
    margin-right: 0px;
    margin-top: 10px;
    margin-bottom: 0px;
    color: rgb(255, 255, 255);
}

#notes {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

#personaLabel {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: rgb(255, 255, 255);
}

#savedPlanSelect {
    display: inline-block;
    width: 100%;
    min-width: 200px;
    max-width: 360px;
    padding: 10px 38px 10px 12px;
    background: #ffffff;
    color: #000000;
    border: 1px solid #cfd1d6;
    border-radius: 10px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.08);
}

#savedPlanSelect:focus {
    outline: 2px solid #8baaff;
    outline-offset: 2px;
}

#sliderTitle {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: large;
    font-weight: bold;
    color: rgb(255, 255, 255);
    line-height: 1.5;
    position: relative;
    text-align: center;
    margin: 0;
}

#startNewAnalysisBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#statusBottomBar {
    display: none;
}

#statusContainer {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.12em;
    color: #ffffff;
    margin: 0;
    padding: 0;
    width: 100%;
    background: none; 
    text-align: center;
}

.status-text-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    flex: 1;
    padding-right: 120px;
    box-sizing: border-box;
}

.status-text-wrap #statusContainer {
    text-align: left;
}

#realtimeUpdatesContainer {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 8px;
    text-align: left;
    width: 100%;
    min-height: 42px;
}

#realtimeUpdatesContainer .rx-interstitial-word {
    color: rgba(255, 255, 255, 0.8);
}

#realtimeUpdatesContainer .rx-interstitial-dots {
    display: inline-block;
    min-width: 1.4em;
}

.rx-live-status__stage {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.96);
    letter-spacing: 0.02em;
}

.rx-live-status__substage {
    margin-top: 3px;
    min-height: 16px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.82);
    font-style: italic;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.65s ease;
}

.rx-live-status__substage,
.rx-live-status__substage .rx-interstitial-word,
.rx-live-status__substage .rx-interstitial-dots,
.rx-live-status__substage span {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    line-height: 1.25;
    font-style: italic;
}

.rx-live-status__substage.rx-visible {
    opacity: 1;
    visibility: visible;
}

.rx-live-status__substage.rx-fade-out {
    opacity: 0;
}

.rx-output-actions {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rx-output-actions__title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 6px;
}

.rx-output-actions__list {
    list-style: none;
    margin: 0;
    padding: 0 8px 0 0;
    max-height: calc(3 * 1.55em);
    overflow-y: auto;
}

.rx-output-actions__item {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rx-summary-result-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    overflow: hidden;
}

.rx-summary-result-table th {
    text-align: left;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    padding: 8px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.12);
}

.rx-summary-result-table th:nth-child(2),
.rx-summary-result-table td:nth-child(2),
.rx-summary-result-table th:nth-child(3),
.rx-summary-result-table td:nth-child(3),
.rx-summary-result-table th:nth-child(4),
.rx-summary-result-table td:nth-child(4) {
    text-align: center;
}

/* Ensure header centering wins over any global table header rules */
.rx-summary-result-table th:nth-child(2),
.rx-summary-result-table th:nth-child(3),
.rx-summary-result-table th:nth-child(4) {
    text-align: center !important;
}

.rx-summary-result-table td {
    text-align: left;
    font-size: 13px;
    padding: 10px;
    color: rgba(255, 255, 255, 0.95);
}

.rx-summary-pill {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.98);
    font-size: 12px;
    line-height: 1.2;
}

.rx-summary-pill-ok {
    background: rgba(60, 205, 107, 0.16);
    border: 1px solid rgba(60, 205, 107, 0.6);
}

.rx-summary-pill-fail {
    background: rgba(245, 77, 77, 0.16);
    border: 1px solid rgba(245, 77, 77, 0.65);
}

.rx-summary-na {
    opacity: 0.7;
}

.rx-summary-action-group {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rx-summary-action-group button {
    padding: 6px 10px;
}

#task-wrapper {
    width: 100%;
    max-width: none;
    min-width: 260px;
    height: 100%;
    background: #0f1a2a;
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(0,0,0,0.25);
    padding: 12px;
    box-sizing: border-box;
    overflow: hidden;
    align-self: stretch;
    margin-left: 0;
}

#task-wrapper,
.recent-card {
    min-height: 320px;
    display: flex;
    flex-direction: column;
}

#thumbnailTitle {
    height: 50px;
    width: 50px;
    margin-right: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    border: 2px solid transparent; /* Use transparent border */
    box-sizing: border-box; /* Include border in element's size */
    background-position: right;
}

#title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: medium;
    font-weight: bold;
    color: rgb(255, 255, 255);
    line-height: 1.5;
    position: relative;
    text-align: left;
    margin: 0;
}

#toolbox-title {
    font-family: 'Google Sans', sans-serif;
    font-size: medium;
    font-size: 24px;
    margin-left: 20px;
    margin-right: 0px;
    margin-top: 20px;
    margin-bottom: 0px;
    color: rgb(255, 255, 255);
}

/* Rx Analyzer: file upload selection */
#RxAnalyzer > table {
    width: 100%;
}

.rx-quant-chat {
    display: block;
    clear: both;
    margin-top: 10px;
}

.rx-quant-chat__header {
    font-weight: 600;
    margin-bottom: 8px;
}

.rx-quant-chat__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.rx-quant-chat__form {
    margin-top: 10px;
    border-top: 1px dashed #d8d8d8;
    padding-top: 10px;
}

.rx-quant-chat__drawer + .rx-quant-chat__drawer {
    margin-top: 10px;
}

.rx-quant-chat__drawer-toggle {
    background: none;
    border: none;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border-radius: 0;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: medium;
    line-height: 1;
    cursor: pointer;
}

.rx-quant-chat__drawer-toggle:hover {
    background: none;
    opacity: 0.9;
}

.rx-quant-chat__drawer-toggle:focus-visible {
    outline: 2px solid rgba(121, 176, 255, 0.9);
    outline-offset: 2px;
}

.rx-quant-chat__drawer-toggle .material-symbols-outlined {
    font-size: 20px;
}

.rx-quant-chat__drawer-body {
    margin-top: 12px;
}

.rx-quant-chat__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 8px;
}

.rx-quant-chat__grid > div {
    min-width: 0;
}

.rx-quant-chat__grid > .rx-quant-chat__grid-span {
    grid-column: 1 / -1;
}

.rx-quant-chat__grid > .rx-quant-chat__variable-panel {
    grid-column: span 2;
    align-self: start;
}

.rx-quant-chat__grid label {
    font-size: 0.9em;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.rx-quant-chat__grid input,
.rx-quant-chat__grid select {
    width: 100% !important;
    padding: 6px 8px;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    box-sizing: border-box;
    display: block;
    background: #ffffff;
    color: #223446;
}

.rx-quant-chat__grid select option {
    color: #223446;
}

#quantInstrumentOverrides {
    display: contents;
}

#quantInstrumentOverrides > div {
    min-width: 0;
}

.rx-quant-chat__variable-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.rx-quant-chat__variable-header label {
    margin-bottom: 0;
}

.rx-quant-chat__variable-list {
    display: grid;
    gap: 8px;
}

.rx-quant-chat__variable-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.rx-quant-chat__variable-row button {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .rx-quant-chat__grid > .rx-quant-chat__variable-panel {
        grid-column: 1 / -1;
    }
}

.rx-quant-chat__note {
    font-size: 0.85em;
    color: #5f5f5f;
    margin-top: 6px;
}

.rx-quant-chat__note--inline {
    margin-top: 0;
    align-self: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.rx-quant-chat__note--inline.is-visible {
    opacity: 1;
}

#quantSettingsSaveBtn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

#quantDefaultsConfirmBtn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.rx-quant-chat__control {
    margin-top: 10px;
}

#quantChatContainer #chat-container_outer,
#quantChatContainer #chat-control-container {
    width: 100%;
}

#quantChatContainer[hidden] {
    display: none !important;
}

.rx-upload-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.rx-upload-shell {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.rx-upload-shell.rx-has-files .rx-upload-row {
    padding-right: 356px;
}

.insight-upload-shell.rx-has-files .rx-upload-row {
    padding-right: 0;
}

.insight-upload-shell .rx-upload-row {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.insight-upload-shell .rx-file-picker-summary {
    margin-bottom: 0;
}

.insight-upload-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.insight-scope-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    margin-top: 0;
    color: #fff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 15px;
    white-space: nowrap;
    user-select: none;
}

.insight-scope-checkbox span {
    color: #fff;
    font-size: inherit;
    font-family: inherit;
}

.insight-scope-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #d4af37;
}

.insight-scope-checkbox.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.insight-summary-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.insight-upload-shell #chooseFilesBtn.contentButton,
#summarizeInsightsBtn.contentButton {
    align-self: flex-start;
    margin-top: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 38px;
    box-sizing: border-box;
    white-space: nowrap;
}

.insight-upload-shell #chooseFilesBtn.contentButton {
    width: 160px;
}

#summarizeInsightsBtn.contentButton {
    min-width: 180px;
}

.insight-download-summary-btn.contentButton {
    min-width: 38px;
    width: 38px;
    padding-left: 0;
    padding-right: 0;
}

.insight-download-summary-btn.contentButton .material-symbols-outlined {
    margin-right: 0;
}

.insight-selected-files-rail #uploadedFileListOuter {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    min-width: 380px;
    max-width: 60vw;
    margin-left: 0;
    margin-top: 0;
    transform: none;
    height: 338px;
    min-height: 338px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.insight-upload-shell #uploadedFileListOuter #fileDisplay,
.insight-selected-files-rail #uploadedFileListOuter #fileDisplay {
    max-height: none;
}

.insight-selected-files-rail #uploadedFileListInner {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.insight-selected-files-rail #uploadedFileListOuter #fileDisplay {
    flex: 1 1 auto;
    min-height: 0;
}

.rx-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.rx-file-picker-summary {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 20px;
}

#chooseFilesBtn.contentButton {
    width: 160px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

#chooseFilesBtn.contentButtonMain {
    width: 160px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

#chooseFilesBtn.contentButton,
#generateSummaryButton.generateButton {
    width: 200px;
}

#chooseFilesBtn[disabled],
#generateSummaryButton[disabled],
#summarizeInsightsBtn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

#chooseFilesBtn .material-symbols-outlined {
    margin-right: 0;
    vertical-align: text-bottom;
}

.ux-legal-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    padding: 6px 16px 9px 16px;
    text-align: center;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.9);
    background: #303030;
    border-top: none;
    backdrop-filter: none;
    box-shadow: none;
    pointer-events: none;
}

.ux-legal-footer__inner {
    width: min(var(--ux-content-width), calc(100% - 48px));
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    text-align: center;
    pointer-events: auto;
}

.ux-legal-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: #3c434d;
    color: rgba(255, 255, 255, 0.94);
    text-decoration: none;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.01em;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.ux-legal-footer a:hover {
    background: #3f5d86;
    border-color: rgba(147, 190, 255, 0.42);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
    transform: translateY(-1px);
}

.ux-legal-footer a:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 2px;
}

.ux-legal-footer__sep {
    display: none;
}

body.tool-context-page .ux-legal-footer__inner,
body.dashboard-context-page .ux-legal-footer__inner {
    width: min(var(--ux-tool-width), calc(100% - 48px));
}

body.uxexpert-home-page:not(.tool-context-page) .ux-legal-footer__inner {
    width: min(var(--ux-tool-width), calc(100% - 48px));
    transform: translateX(calc((var(--ux-tool-width) - var(--ux-content-width)) / 2));
}

@media (max-width: 947px) {
    body.uxexpert-home-page:not(.tool-context-page) .ux-legal-footer__inner {
        width: min(var(--ux-content-width), calc(100% - 48px));
        transform: none;
    }
}

.legal-inline-note {
    text-align: center;
    padding: 6px 16px 0;
    font-size: 13px;
}

.legal-inline-note a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: underline;
}

.support-form {
    margin-top: 10px;
    display: grid;
    gap: 10px;
}

.support-mode-switch {
    margin-top: 4px;
    display: grid;
    gap: 4px;
    max-width: 340px;
}

.support-mode-switch label {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
}

.guidance.support-guidance {
    margin-top: 10px;
    line-height: 1.45;
    margin-bottom: 0;
}

.miniLabel.support-mini-guidance {
    line-height: 1.4;
    margin-top: 4px;
    margin-bottom: 0;
}

.support-form__field {
    min-width: 0;
}

.support-form__subject-row {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
    gap: 10px;
}

.support-form label {
    display: block;
    margin-bottom: 4px;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
}

.support-mode-switch select,
.support-form input,
.support-form textarea,
.support-form select {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #3b4b61;
    padding: 10px 12px;
    background: #1f2a3d;
    color: #f1f4ff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.95rem;
    box-sizing: border-box;
}

.support-mode-switch select,
.support-form select {
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
}

.support-mode-switch select option,
.support-form select option {
    color: #ffffff;
    background: #1f2a3d;
}

.support-form textarea {
    min-height: 150px;
    resize: vertical;
}

.support-form__field-error {
    margin-top: 4px;
    font-size: 0.9rem;
    color: #ffb3b3;
}

.support-form__field-error[hidden] {
    display: none;
}

.support-form__input--invalid,
.support-form input[aria-invalid="true"] {
    border-color: #ff8c8c;
    box-shadow: 0 0 0 1px rgba(255, 140, 140, 0.2);
}

.support-form__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.support-form__spinner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
}

.support-form__spinner .spinner {
    width: 36px;
    height: 36px;
    border-width: 3px;
}

.support-form__feedback {
    margin-top: 6px;
    font-size: 0.95rem;
}

.support-form__feedback[hidden] {
    display: none;
}

#message-warning {
    color: #ffb3b3;
}

#message-success {
    color: #b6f7c1;
}

#image-loader[hidden] {
    display: none;
}

@media (max-width: 720px) {
    .support-form__subject-row {
        grid-template-columns: 1fr;
    }
}

.legal-page .legal-content {
    max-width: 980px;
}

.legal-content h1 {
    margin-top: 0;
}

.legal-content h2 {
    margin-top: 18px;
    margin-bottom: 8px;
    font-size: 1.15rem;
}

.legal-content p,
.legal-content li {
    color: rgba(255, 255, 255, 0.92);
}

.legal-list {
    margin: 8px 0 12px 0;
    padding-left: 18px;
    list-style: disc;
}

.legal-list li {
    background: transparent;
    padding: 0;
    margin: 8px 0;
}

#upperTable {
    width: 100%;
}

#lowerTable {
    width: 100%;
}

#td_uploadedFileList {
    text-align: right;
    width: auto;
    position: relative;
}

#td_guidance {
    vertical-align: top;
    text-align: left;
    width: 1%;
    white-space: nowrap;
}

#uploadedFileListOuter {
    position: absolute;
    top: 0;
    right: 0;
    width: max-content;
    min-width: 380px;
    max-width: 60vw;
    display: block;
    margin-left: auto;
    margin-top: 0;
    transform: translateY(12px);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    box-sizing: content-box;
    margin-top: 12px;
}

#uploadedFileListInner {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
}

.rx-upload-list__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    width: 100%;
}

.rx-upload-list__title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.92);
}

.rx-upload-list__meta {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.72);
}

.rx-uploaded-files-spacer {
    height: 0;
    width: 100%;
}

#uploadedFileListOuter #fileDisplay {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
    color: inherit;
    max-height: 180px;
    overflow-y: auto;
    padding-right: 6px;
    width: 100%;
}

.rx-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 8px;
    border-radius: 10px;
    width: 100%;
    box-sizing: border-box;
}

.rx-file-main {
    flex: 1 1 auto;
    min-width: 0;
}

.rx-file-item:hover {
    background: rgba(255, 255, 255, 0.06);
}

.rx-file-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rx-file-name {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.92);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rx-file-meta {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
}

.rx-file-remove-btn {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rx-file-remove-btn:hover {
    background: rgba(255, 90, 90, 0.14);
    border-color: rgba(255, 90, 90, 0.35);
}

.rx-file-remove-btn .material-symbols-outlined {
    font-size: 20px;
    line-height: 1;
}

@media (max-width: 980px) {
    .rx-upload-shell.rx-has-files {
        padding-right: 0;
    }

    .rx-upload-shell.rx-has-files .rx-upload-row {
        padding-right: 0;
    }

    #uploadedFileListOuter {
        position: relative;
        width: 100%;
        margin-top: 12px;
    }

    .insight-upload-shell #uploadedFileListOuter {
        width: 100%;
    }
}

body.insight-explorer-page .table-container {
    width: fit-content;
    max-width: none;
}

body.insight-explorer-page .content {
    width: fit-content;
    max-width: none;
}

body.insight-explorer-page .main-container {
    overflow-x: auto;
}

#user-input {
    height: 120px; 
    padding: 10px;
    resize: none;
    overflow-y: auto; 
    border-radius: 10px;
    background-color: #222;
    color: #fff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    border: 1px solid #fff;
}

/* Class Selectors */

.ai-header-auth {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.ai-header-indicator #ai-task-count {
    color: #ffffff;
    font-weight: 700;
}

.ai-header-indicator #ai-task-spinner {
    width: 12px;
    height: 12px;
    border: 2px solid rgb(185, 0, 255);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.ai-task-banner {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 28px;
    width: auto;
    max-width: 100%;
    pointer-events: none;
    z-index: 8;
    grid-area: banner;
    justify-self: center;
    align-self: center;
}

.ai-task-banner .ai-header-indicator {
    margin: 0;
    align-self: center;
    pointer-events: auto;
    z-index: 9;
}

.auth {
    position: static;
    z-index: 3;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: bold;
    font-size: medium;
    color: rgb(255, 255, 255);
}

.auth-row {
    position: static;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    justify-self: end;
    align-self: center;
    flex-wrap: wrap;
    max-width: 100%;
    grid-area: auth;
}

.account-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}

.account-chip-toggle {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    min-height: 28px;
    padding: 0 12px 0 8px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.account-chip-toggle:hover,
.account-chip-toggle:focus-visible,
.account-menu.is-open .account-chip-toggle {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.28);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.account-chip-toggle:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 2px;
}

.account-chip-avatar {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(76, 124, 198, 0.9);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    flex: 0 0 auto;
}

.account-chip-label {
    display: inline-block;
    min-width: 0;
    color: #ffffff;
}

.account-chip-chevron {
    font-size: 1.05rem;
    line-height: 1;
    color: #ffffff;
    transition: transform 0.18s ease;
}

.account-menu.is-open .account-chip-chevron {
    transform: rotate(180deg);
}

.account-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 28;
    width: min(280px, calc(100vw - 24px));
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    background: #16181f;
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.34);
    overflow: hidden;
}

.account-menu-panel[hidden] {
    display: none;
}

.account-menu-header {
    padding: 14px 16px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(74, 115, 182, 0.22) 0%, rgba(22, 24, 31, 0) 100%);
}

.account-menu-title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.96rem;
    font-weight: 700;
    color: #ffffff;
}

.account-menu-subtitle {
    margin-top: 3px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.76rem;
    color: #ffffff;
}

.account-menu-links {
    display: grid;
}

.account-menu-link {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    color: rgba(255, 255, 255, 0.94);
    text-decoration: none;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.88rem;
    line-height: 1.2;
    background: rgba(255, 255, 255, 0);
    transition: background 0.18s ease, color 0.18s ease;
}

.account-menu-link + .account-menu-link {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.account-menu-link:hover,
.account-menu-link:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.account-menu-link .material-symbols-outlined {
    font-size: 1.1rem;
    line-height: 1;
    color: #ffffff;
}

.account-menu-link span {
    color: #ffffff;
}

.account-menu-link--logout {
    color: #ffffff;
}

.ux-desktop-interstitial-open,
.ux-desktop-interstitial-open body {
    overflow: hidden;
}

.ux-desktop-interstitial {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10001;
    background: rgba(12, 14, 23, 0.82);
    justify-content: center;
    align-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.ux-desktop-interstitial.open {
    display: flex;
}

.ux-desktop-interstitial__content {
    width: min(560px, 100%);
    background: #242536;
    color: #ffffff;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.42);
    padding: 28px 28px 24px;
    text-align: center;
}

.ux-desktop-interstitial__content h2 {
    margin: 0 0 12px 0;
    font-family: 'Google Sans', sans-serif;
    font-size: 28px;
    line-height: 1.1;
    color: #ffffff;
}

.ux-desktop-interstitial__content p {
    margin: 0;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 18px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
}

.ux-desktop-interstitial__actions {
    margin-top: 22px;
    display: flex;
    justify-content: center;
}

.ux-desktop-interstitial__button {
    min-width: 170px;
    padding: 10px 18px;
    border: none;
    border-radius: 999px;
    background: #3f5d86;
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.ux-desktop-interstitial__button:hover,
.ux-desktop-interstitial__button:focus-visible {
    background: #4d73a6;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

.ux-desktop-interstitial__button:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 3px;
}

.toolbox-tile {
    -webkit-border-radius: 28px;
    -moz-border-radius: 28px;
    border-radius: 28px;
    border: 2px solid transparent;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: #fff;
    font-size: 16px;
    padding: 12px 10px 14px;
    text-decoration: none;
    width: 150px;
    min-width: 150px;
    flex: 0 0 150px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 8px;
    transition: border-color 0.25s ease;
    background: none;
}

.toolbox-tile:hover {
    border-color: #fff;
    border-style: ridge;
}

.toolbox-tile:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 2px;
}

.toolbox-tile--home::before { background-image: url("https://ux.expert/uxexpert/tooltiles/home_logo.png"); }

.toolbox-tile--dashboard::before { background-image: url("https://ux.expert/uxexpert/tooltiles/dashboard_logo.png"); }

.toolbox-tile--planner::before { background-image: url("https://ux.expert/uxexpert/tooltiles/rxscriptdesigner_logo.png"); }

.toolbox-tile--analyzer::before { background-image: url("https://ux.expert/uxexpert/tooltiles/rxanalyzer_logo.png"); }

.toolbox-tile--insight-explorer::before { background-image: url("https://ux.expert/uxexpert/tooltiles/insightexplorer_logo.png"); }

.caret-plusminus {
    display: inline-block;
    width: 14px;
    height: 14px;
    vertical-align: middle;
    position: relative;
    margin-right: 4px;
    background: transparent;

}

.caret-plusminus:before {
    left: 1px; top: 6px;
    width: 12px;
    height: 2px;   /* horizontal (the minus) */
}

.caret-plusminus:before, .caret-plusminus:after {
    content: "";
    position: absolute;
    background: #fff;
    border-radius: 1px;
    transition: all 0.18s cubic-bezier(.4,0,.2,1);
}

.chat-message {
        margin-bottom: 18px;
        font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
        font-size: 1rem;
        line-height: 1.45;
}

.chat-message a {
    color: #1a73e8;
}

.chat-message a {
    color: #1a73e8 !important;
}

.chat-message.bot {
    background: #e0f0ff;            
    color: #223446;
    border-radius: 15px 15px 15px 3px;
    padding: 12px 18px;
    margin: 10px 0 10px 40px;       
    max-width: 80%;
    align-self: flex-start;
    border: 1px solid #aed6f5;
}

.chat-message.bot :where(
    span,
    div,
    p,
    strong,
    b,
    em,
    small,
    label,
    li,
    ul,
    ol,
    td,
    th
) {
    color: inherit;
    font: inherit;
}

.chat-message.user {
    background: #315375;           
    color: #fff;
    border-radius: 15px 15px 3px 15px;
    padding: 12px 18px;
    margin: 10px 40px 10px 0;      
    max-width: 80%;
    align-self: flex-end;
    border: 1px solid #223446;
}

.chat-message.user :where(
    span,
    div,
    p,
    strong,
    b,
    em,
    small,
    label,
    li,
    ul,
    ol,
    td,
    th
) {
    color: inherit;
}

.chat-message.user a,
.chat-message.user a:visited {
    color: #ffffff !important;
}

.chat-send-row {
    width: 100%;
}

.content {
    padding-top: 10px; 
    width: 900px;
    margin-top: 20px; 
}

.context-container {
    border: 0px transparent;
    margin-left: 0px;
    padding: 0px;
    margin-top: 10px;
}

.sectionTitle .context-container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
}

.dashboard-main {
    min-height: auto;
    padding-bottom: 24px;
    flex-direction: column;
    align-items: center;
}

.dashboard-main .gantt-shell {
    width: min(1280px, calc(100% - 48px));
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.disabled-btn {
    opacity: 0.45;
    pointer-events: none;
}

.dropdownBlock {
    display: flex;
    flex-direction: column;
    align-items: flex-end; 
}

.dropdownLabel {
    font-size: 15px;
    color: #ffffff;
    margin-bottom: 2px;
    text-align: left;   
    margin-right: 10px;
}

.exampleOptional {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
    line-height: 0.50;
    font-style: italic;
}

.file-actions {
    display: flex;
    gap: 16px;
    min-width: 220px;
    justify-content: flex-end;
}

.file-actions button {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255) !important;
}

.file-action-spacer {
    visibility: hidden;
    pointer-events: none;
}

.file-item {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255) !important;
}

.file-item span {
    color: rgb(255, 255, 255) !important;
}

.file-row {
    display: flex;
    align-items: center;        
    min-width: 0;
    width: 100%;
    gap: 12px;                /* Space between filename/buttons */
}

.file-row .table-button {
    flex-shrink: 0;
    margin-left: 6px;
}

.fileLabel {
    font-weight: bold;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

.fileManager {
    position: absolute;
    right: 5px;
    top: 100px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

.filetree { 
    list-style-type: none; 
    margin: 0; 
    padding-left: 0px;
}

.filetree.is-collapsed {
    display: none;
}

.filetree-children {
    margin-left: 18px;
    padding-left: 0;
}

.filetree-file {
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    gap: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    min-width: 0;
    width: 100%;
    vertical-align: middle;
    color: #ffffff;
}

.filetree-file--link {
    color: #ffffff;
    text-decoration: none;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.filetree-file--link:hover {
    text-decoration: underline;
}

.filetree-folder {
    cursor: default;
    user-select: none;
    color: #ffffff;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.filetree-folder .caret {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 3px;
    vertical-align: middle;
    /* Make an actual triangle with borders and background */
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #fff;
    background: none;
    transition: transform 0.18s;
    /* Slightly offset for aesthetic alignment to folder icon */
    position: relative;
    top: 1px;
}

.filetree-folder,
.filetree-file {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.filetree-folder.closed .caret {
    /* Default: triangle points right */
    transform: rotate(0deg);
}

.filetree-folder.closed .caret-plusminus:after {
    left: 6px; top: 1px;
    width: 2px;
    height: 12px;   /* vertical segment (shows in plus only when closed) */
    background: #fff;
}

.filetree-folder.open .caret {
    /* Open: triangle rotates down */
    transform: rotate(90deg);
}

.filetree-folder.open .caret-plusminus:after {
    /* hide the vertical when open (minus only) */
    width: 0;
    height: 0;
    opacity: 0;
}

.filetree-folder:hover {
    background: transparent;
    border-radius: 0;
}

.filetree-folder:hover .caret-plusminus:before,
.filetree-folder:hover .caret-plusminus:after {
    background: #4db7ff;
}

.filetree-label-area {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 auto;
}

.filetree-row {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    min-height: 40px;
    min-width: 0;
    box-sizing: border-box;
    width: 100%;
    border-radius: 10px;
    padding: 0 10px;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.filetree-row:hover {
    background: rgba(94, 113, 156, 0.26);
}

.filetree-row.is-selected {
    background: linear-gradient(90deg, rgba(64, 74, 131, 0.9) 0%, rgba(42, 84, 150, 0.72) 100%);
    box-shadow: inset 0 0 0 1px rgba(146, 192, 255, 0.65);
}

.filetree-row:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 1px;
}

.filetree-caret-button {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    padding: 0;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.filetree-caret-button:hover {
    background: rgba(255, 255, 255, 0.1);
}

.filetree-caret-button:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 1px;
}

.filetree-caret-spacer {
    width: 18px;
    flex-shrink: 0;
    display: inline-block;
}

.filetree-node-text {
    display: block;
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #ffffff !important;
}

.filetree-folder.is-empty .caret-plusminus,
.filetree-folder.is-empty .filetree-caret-button {
    display: none;
}

.flex-control-paging{
    display: none;
}

.flex-nav-next{
    display: none;
}

.flex-nav-prev{
    display: none;
}

.flex-viewport{
    background-color: #303030;
}

.flexslider {
   position: relative;
   width: 100%;
   text-align: center;
   background-color: #303030; 
   border: 1px solid #303030;
}

.flexslider .slides { 
    margin: 0; 
    padding: 0;
    zoom: 1; 
    background-color: #303030;
}

.flexslider .slides > li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;      
    align-items: center;          
    min-height: 250px; 
    font-family: Avantgarde, TeX Gyre Adventor, URW Gothic L, sans-serif;
    font-size: large;
    color: #fff;
    background-color: #303030;
}

.flexslider .slides > li b {
    font-size: 1.15em;      /* bold text */
}

.flexslider .slides > li p {
    font-size: 1.5em;       
    line-height: 1.4;
}

/* Flex Slider
/* ------------------------------------------------------------------ */

/* Reset */
.flexslider a:active,
.flexslider a:focus  { outline: none; }

.flexsliderrow {
    width: 800px;
    margin: auto;
    background-color: #303030;
 }

.folder-item {
    padding: 5px 0;
    cursor: pointer;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255) !important;
}

.form-row {
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-row.inline {
    flex-direction: row;
    column-gap: 10px;
    row-gap: 8px;
    width: 100%;
    flex-wrap: nowrap;
    align-items: flex-end;
}

.form-row.inline > div {
    flex: 1 1 0;
    min-width: 0;
}

.form-row.inline > div:nth-child(1) {
    flex: 1 1 auto;
    max-width: none;
    padding: 5px;
}

.form-row.inline > div:nth-child(2),
.form-row.inline > div:nth-child(3) {
    flex: 0 0 140px;
    max-width: 140px;
    padding: 5px;
}

.gantt-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.gantt-actions .gantt-timeline-select {
    width: auto;
    min-width: 142px;
    max-width: 170px;
    text-align: left;
    font-size: 15px;
    padding: 6px 10px;
    margin-bottom: 5px;
}

.gantt-actions button,
.gantt-buttons button {
    background: #1f8efa;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    box-shadow: 0 10px 24px rgba(31,142,250,0.35);
    justify-content: right;
    margin-top: 0px;
    margin-bottom: 5px;
}

.gantt-actions button:hover,
.gantt-buttons button:hover {
    background: #0f7ade;
}

.gantt-auto rect.bar { fill: #f3c969; }

.gantt-buttons {
    display: flex;
    gap: 8px;
    padding: 5px;
    margin-left: 8px;
    margin-top: 0;
    margin-bottom: 0px;
    flex-wrap: nowrap;
    align-items: center;
}

.form-row.inline .gantt-buttons {
    align-self: flex-end;
    flex: 0 0 auto;
    white-space: nowrap;
}

.form-row.inline .gantt-buttons button {
    margin-bottom: 0;
}

.gantt-buttons .danger {
    background: #e55164;
    box-shadow: 0 10px 24px rgba(229,81,100,0.35);
}

.gantt-buttons .danger:hover {
    background: #cf3a50;
}

.gantt-buttons .secondary {
    background: #30415f;
    box-shadow: 0 10px 24px rgba(48,65,95,0.35);
}

.gantt-buttons .secondary:hover {
    background: #233349;
}

.gantt-form {
    width: 100%;
    background: #0f1a2a;
    color: #dfe7f5;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 18px 42px rgba(0,0,0,0.25);
    margin-left: 0;
    box-sizing: border-box;
}

.gantt-form-modal {
    z-index: 10005;
}

.gantt-form-modal__content {
    position: relative;
    background: transparent;
    box-shadow: none;
    padding: 0;
    min-width: min(780px, 94vw);
    width: min(780px, 94vw);
}

.gantt-form-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 999px;
    background: rgba(15, 26, 42, 0.92);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
}

.gantt-form-close:hover {
    background: rgba(31, 52, 84, 0.96);
}

.gantt-form h3 {
    margin: 0 44px 8px 0;
    font-size: 18px;
}

.gantt-form input,
.gantt-form textarea {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #30415f;
    padding: 8px;
    background: #0b1320;
    color: #eaf1ff;
}

.gantt-form-modal .gantt-form #task-name,
.gantt-form-modal .gantt-form #task-start,
.gantt-form-modal .gantt-form #task-end {
    background: #0b1320;
    color: #eaf1ff;
    border: 1px solid #30415f;
    border-radius: 8px;
    box-sizing: border-box;
}

.gantt-form-modal .form-row.inline > div:not(.gantt-buttons) {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 6px;
}

.gantt-form-modal .gantt-form #task-start,
.gantt-form-modal .gantt-form #task-end {
    color-scheme: dark;
}

.gantt-form-modal .gantt-form #task-name,
.gantt-form-modal .gantt-form #task-start,
.gantt-form-modal .gantt-form #task-end {
    height: 42px;
    min-height: 42px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.gantt-form-modal .gantt-form #task-start::-webkit-calendar-picker-indicator,
.gantt-form-modal .gantt-form #task-end::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(1.35);
    opacity: 1;
    cursor: pointer;
}

.gantt-form.collapsed {
    display: none;
}

.gantt-headline {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.gantt-project .bar,
.gantt-study .bar {
    cursor: pointer;
}

.gantt-project .bar-label,
.gantt-study .bar-label {
    fill: #ffffff;
    font-weight: 800;
    font-size: 18px;
    text-anchor: start;
    cursor: pointer;
}

.gantt-project rect.bar { fill: #5a6bff; }

/* Dashboard Gantt */
.gantt-shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 10px 0 16px;
}

.gantt-status {
    margin-top: 8px;
    font-size: 13px;
    color: #a9b8d8;
}

.gantt-status[data-tone="info"] { color: #a9b8d8; }

.gantt-status[data-tone="success"] { color: #58d598; }

.gantt-status[data-tone="warn"] { color: #ffb347; }

.gantt-study rect.bar { fill: #79b0ff; }

.gantt-subtitle {
    color: #4b5b73;
    font-size: 14px;
    margin-top: 4px;
}

.gantt-task rect.bar { fill: #5dd0a6; }

.gantt-task .bar-label {
    pointer-events: auto;
    cursor: pointer;
}

.gantt-title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.2px;
    color: #ffffff;
    margin-top: 0px;
    margin-bottom: 5px;
}

.gantt-active-window {
    color: #ffffff;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
    vertical-align: middle;
}

#gantt .lower-text,
#gantt .upper-text,
#gantt-sticky-header .lower-text,
#gantt-sticky-header .upper-text {
    fill: #000000;
    font-weight: 700;
}

#gantt.gantt-view-daily .lower-text,
#gantt-sticky-header.gantt-view-daily .lower-text {
    font-size: 11px;
}

#gantt.gantt-view-weekly .lower-text,
#gantt.gantt-view-monthly .lower-text,
#gantt.gantt-view-quarterly .lower-text,
#gantt.gantt-view-yearly .lower-text,
#gantt-sticky-header.gantt-view-weekly .lower-text,
#gantt-sticky-header.gantt-view-monthly .lower-text,
#gantt-sticky-header.gantt-view-quarterly .lower-text,
#gantt-sticky-header.gantt-view-yearly .lower-text {
    font-size: 12px;
}

#gantt.gantt-view-weekly .upper-text,
#gantt.gantt-view-monthly .upper-text,
#gantt.gantt-view-yearly .upper-text,
#gantt-sticky-header.gantt-view-weekly .upper-text,
#gantt-sticky-header.gantt-view-monthly .upper-text,
#gantt-sticky-header.gantt-view-yearly .upper-text {
    font-size: 12px;
    font-weight: 700;
    fill: #000000;
}

#gantt.gantt-view-quarterly .gantt-custom-quarter-upper,
#gantt-sticky-header.gantt-view-quarterly .gantt-custom-quarter-upper {
    font-size: 12px;
    font-weight: 700;
    fill: #000000;
}

#gantt.gantt-view-quarterly .tick.thick,
#gantt-sticky-header.gantt-view-quarterly .tick.thick {
    stroke: #e0e0e0;
    stroke-width: 0.2;
    opacity: 1;
}

#gantt.gantt-view-quarterly .tick.gantt-quarter-boundary,
#gantt-sticky-header.gantt-view-quarterly .tick.gantt-quarter-boundary {
    stroke: #6e84ff;
    stroke-width: 1;
    opacity: 0.95;
}

#gantt.gantt-view-quarterly .lower-text,
#gantt-sticky-header.gantt-view-quarterly .lower-text {
    fill: #000000;
}

.guidance {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: medium;
    color: rgb(255, 255, 255);
    line-height: 0.50;
    margin-top: 30px;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--ux-fixed-header-height);
    background-color: #303030; 
    z-index: 1000; 
    padding: 16px 24px 20px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas:
        "logo quick banner auth"
        "logo context context context";
    column-gap: 24px;
    row-gap: 10px;
    align-items: center;
    min-height: var(--ux-fixed-header-min-height);
}

.header table {
    float: right;
}

.headerUserGroup {
    position: static;
    width: min(var(--ux-content-width), calc(100% - 48px));
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex: 1;
    min-width: 0;
    z-index: 6;
    background-color: transparent;
    grid-area: context;
    grid-column: 1 / -1;
    justify-self: center;
    align-self: start;
}

.headerbuttonGroup{
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex: 1;
    min-width: 0;
    margin-bottom: 10px;
    margin-left: 2px;
}

.homeURL {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

.login {
    position: absolute;
    top: 18px;   /* Match your header's padding */
    right: 75px; /* Match your header's padding */
    z-index: 3;  /* Make sure it sits above other content if overlapping */
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: x-small;
    color: rgb(255, 255, 255);
}

.logo {
    position: static;
    margin: 0;
    grid-area: logo;
    align-self: start;
}

.site-logo-lockup {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    width: fit-content;
}

.site-logo-lockup a {
    display: block;
}

.logo img {
    height: 125px;   
    width: auto; 
    display: block;
}

.site-logo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid #c7d9f0;
    background: linear-gradient(180deg, #f5f9ff 0%, #ebf3ff 100%);
    color: #123e7a;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}

.logout {
    position: static;
    z-index: 3;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: x-small;
    color: rgb(255, 255, 255);
}

/* ----------------------- */
/* Settings page components */
/* ----------------------- */

.settings-section {
    margin: 12px 0 18px;
    padding: 16px 18px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.settings-subtitle {
    margin: 0 0 6px;
    font-size: 20px;
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
}

.settings-help {
    margin: 0 0 10px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

#globalPromptInput {
    width: 100%;
    min-height: 160px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background-color: rgba(20, 20, 20, 0.8);
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    resize: vertical;
    box-sizing: border-box;
}

.settings-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.settings-status {
    font-size: 13px;
    color: rgba(210, 255, 210, 0.9);
}

.settings-status.is-error {
    color: rgba(255, 170, 170, 0.95);
}

#modelSelection {
    position: relative;
}

.settings-status-model {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    text-align: right;
    max-width: 45%;
    pointer-events: none;
}

#outputSelection {
    position: relative;
}

#outputSelection .settings-status {
    display: inline-block;
    margin-top: 12px;
    max-width: 100%;
}

.settings-output-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    flex-wrap: wrap;
}

#outputSelection .settings-output-footer .settings-status {
    margin-top: 0;
    flex: 1 1 240px;
}

.settings-delete-button {
    margin-left: auto;
    background: #8c2f3f;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.settings-delete-button:hover:not(:disabled) {
    background: #a53a4d;
}

.settings-delete-button:disabled {
    opacity: 0.7;
    cursor: wait;
}

.settings-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 8px;
}

.settings-radio {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-size: 15px;
}

.settings-radio span {
    color: #ffffff;
}

.settings-radio input[type="radio"] {
    accent-color: #5c6abb;
}

.settings-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 0;
}

.settings-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-size: 15px;
}

.settings-checkbox span {
    color: #ffffff;
}

.settings-checkbox input[type="checkbox"] {
    accent-color: #5c6abb;
}

.settings-output-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.settings-output-row {
    display: grid;
    grid-template-columns: minmax(170px, 210px) 1fr;
    gap: 14px;
    align-items: center;
}

.settings-output-label {
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.settings-output-row--analyzer .settings-output-label {
    align-self: start;
    padding-top: 2px;
}

.settings-delete-modal {
    z-index: 10020;
}

.settings-delete-modal__content {
    width: min(520px, 92vw);
}

.settings-delete-modal__message {
    margin: 0 0 16px;
    color: #f4f7ff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1rem;
    line-height: 1.45;
}

.settings-delete-modal__label {
    display: block;
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
}

.settings-delete-modal__input {
    width: 100%;
    margin-bottom: 16px;
    box-sizing: border-box;
}

.settings-delete-modal__actions {
    justify-content: flex-end;
    gap: 10px;
}

.settings-delete-modal__confirm {
    background: #b3263a;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    min-width: 168px;
    padding: 8px 16px;
}

.settings-delete-modal__confirm:hover:not(:disabled) {
    background: #cc3147;
}

.settings-delete-modal__confirm:disabled {
    opacity: 0.75;
    cursor: wait;
}

/* ----------------------- */
/* Subscriptions page components */
/* ----------------------- */

body.subscriptions-page {
    padding-top: 76px;
}

.subscriptions-page .subscriptions-content {
    width: 100%;
    max-width: 1100px;
}

.subscriptions-status {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 18px 0 8px;
}

.subscriptions-status-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.045));
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    padding: 14px 16px 15px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.16);
    min-width: 320px;
    flex: 1;
}

.subscriptions-status-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.subscriptions-status-header-copy {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.subscriptions-status-title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0;
    letter-spacing: 0.01em;
}

.subscriptions-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 217, 160, 0.45);
    background: rgba(255, 217, 160, 0.12);
    color: #ffe6bd;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
}

.subscriptions-status-header-btn {
    flex-shrink: 0;
    min-height: 38px;
}

.subscriptions-status-header-btn--danger {
    background: linear-gradient(180deg, rgba(165, 34, 34, 0.95), rgba(118, 20, 20, 0.95));
    border: 1px solid rgba(255, 156, 156, 0.38);
    color: #fff4f4;
    box-shadow: 0 10px 22px rgba(86, 12, 12, 0.28);
}

.subscriptions-status-header-btn--danger:hover {
    background: linear-gradient(180deg, rgba(187, 41, 41, 0.98), rgba(132, 24, 24, 0.98));
}

.subscriptions-status-row {
    padding: 2px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.subscriptions-status-row:first-of-type {
    border-top: none;
}

.subscriptions-status-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

.subscriptions-status-metric-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 0;
    padding: 8px 11px;
    border-radius: 12px;
    border: 1px solid rgba(153, 188, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.subscriptions-status-metric-card--basic {
    background: linear-gradient(180deg, rgba(11, 26, 50, 0.7), rgba(16, 33, 62, 0.48));
    border-color: rgba(153, 188, 255, 0.13);
}

.subscriptions-status-metric-card--premium {
    background: linear-gradient(180deg, rgba(15, 34, 54, 0.7), rgba(20, 42, 66, 0.48));
    border-color: rgba(118, 198, 222, 0.14);
}

.subscriptions-status-metric-card--reasoning {
    background: linear-gradient(180deg, rgba(31, 26, 60, 0.68), rgba(20, 28, 57, 0.48));
    border-color: rgba(195, 164, 255, 0.14);
}

.subscriptions-status-label,
.subscriptions-status-value {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: #fff;
}

.subscriptions-status-label {
    color: rgba(205, 220, 247, 0.82);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.subscriptions-status-value {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
    color: #ffffff;
}

.subscriptions-status-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.subscriptions-status-warning {
    color: #ffd9a0;
}

.subscriptions-trial-banner {
    display: inline-flex;
    align-items: center;
    margin: 0 0 8px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(120, 190, 255, 0.32);
    background: rgba(62, 118, 199, 0.12);
    color: #d8e9ff;
}

.subscriptions-status-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 260px;
}

#billingError {
    display: block;
    margin-top: 8px;
}

.subscriptions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 18px;
    margin-top: 16px;
}

@media (max-width: 980px) {
    .subscriptions-grid {
        grid-template-columns: 1fr;
    }

    .subscriptions-status-header {
        align-items: stretch;
        flex-direction: column;
    }

    .subscriptions-status-header-btn {
        width: 100%;
    }

    .subscriptions-status-metrics {
        grid-template-columns: 1fr;
    }
}

.subscriptions-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    padding: 18px 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.subscriptions-grid button.contentButtonMain {
    width: 100%;
    min-height: 44px;
    margin-top: auto;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.subscriptions-trial-tooltip {
    position: relative;
    margin-top: auto;
}

.subscriptions-trial-tooltip .contentButtonMain {
    margin-top: 0;
}

.subscriptions-trial-tooltip__panel {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);
    width: min(260px, calc(100vw - 40px));
    padding: 9px 11px;
    border-radius: 10px;
    border: 1px solid rgba(144, 181, 255, 0.24);
    background: rgba(14, 24, 44, 0.96);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
    color: rgba(232, 241, 255, 0.94);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
    z-index: 5;
}

.subscriptions-trial-tooltip__panel::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    border-width: 7px 6px 0 6px;
    border-style: solid;
    border-color: rgba(14, 24, 44, 0.96) transparent transparent transparent;
}

.subscriptions-trial-tooltip:hover .subscriptions-trial-tooltip__panel,
.subscriptions-trial-tooltip:focus-within .subscriptions-trial-tooltip__panel {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-2px);
}

.subscriptions-current-label {
    width: 100%;
    min-height: 44px;
    margin-top: auto;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    text-align: center;
}

.subscriptions-card-featured {
    border-color: rgba(255, 255, 255, 0.35);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.10) inset, 0 18px 34px rgba(0, 0, 0, 0.20);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.05));
}

.subscriptions-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
}

.subscriptions-card-header-main {
    min-width: 0;
}

.subscriptions-card-header-main--title-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
}

.subscriptions-card-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 6px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(255, 223, 153, 0.14);
    border: 1px solid rgba(255, 223, 153, 0.32);
    color: #ffe8b5;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.subscriptions-card-title {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: #fff;
}

.subscriptions-card-title-note {
    display: block;
    margin-top: 1px;
    color: rgba(255, 223, 153, 0.92);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.subscriptions-card-summary {
    grid-column: 1 / -1;
    margin-top: 6px;
    color: rgba(235, 242, 255, 0.82);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    line-height: 1.35;
    max-width: none;
}

.subscriptions-card-price {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
    width: fit-content;
    margin-top: -4px;
    padding: 7px 12px 6px;
    border-radius: 999px;
    border: 1px solid rgba(168, 201, 255, 0.28);
    background: linear-gradient(180deg, rgba(28, 45, 74, 0.95), rgba(20, 33, 57, 0.95));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 18px rgba(0, 0, 0, 0.18);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: #fff;
    line-height: 1;
}

.subscriptions-card-price .miniLabel {
    font-size: 11px;
    font-weight: 700;
    color: rgba(218, 232, 255, 0.86);
}

.subscriptions-card-featured .subscriptions-card-price {
    border-color: rgba(255, 223, 153, 0.36);
    background: linear-gradient(180deg, rgba(66, 54, 20, 0.9), rgba(42, 34, 15, 0.95));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 10px 22px rgba(0, 0, 0, 0.22);
}

.subscriptions-card-featured .subscriptions-card-price .miniLabel {
    color: rgba(255, 233, 184, 0.9);
}

.subscriptions-card-price--enterprise {
    border-color: rgba(126, 221, 162, 0.34);
    background: linear-gradient(180deg, rgba(24, 68, 43, 0.94), rgba(17, 48, 31, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 18px rgba(0, 0, 0, 0.18);
}

.subscriptions-card-price--enterprise .miniLabel {
    color: rgba(204, 245, 216, 0.88);
}

.subscriptions-plan-tools {
    display: grid;
    gap: 6px;
}

.subscriptions-plan-section-label {
    color: rgba(172, 203, 255, 0.96);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.subscriptions-plan-feature {
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.subscriptions-plan-feature--accent {
    background: rgba(114, 170, 255, 0.12);
    border-color: rgba(114, 170, 255, 0.24);
}

.subscriptions-plan-feature-name {
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.subscriptions-plan-feature-copy {
    margin-top: 2px;
    color: rgba(233, 239, 250, 0.85);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    line-height: 1.3;
}

.subscriptions-plan-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 2px;
}

.subscriptions-plan-metric {
    padding: 8px 8px 7px;
    border-radius: 10px;
    background: rgba(11, 24, 46, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.subscriptions-plan-metric-label {
    display: block;
    color: rgba(175, 190, 220, 0.88);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.subscriptions-plan-metric-value {
    display: block;
    margin-top: 4px;
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.main-container {
    display: flex;
    justify-content: center; /* center horizontally */
    align-items: flex-start;
    width: 100%;
    background-color: #303030;
    padding: 10px;
    box-sizing: border-box;
    min-height: 100%;
    position: relative;
    padding-bottom: 48px;
}

.main-container.home {
    padding-bottom: 0;
}

body.legal-fold-page .main-container {
    padding-bottom: 120px;
}

body.tool-context-page .headerUserGroup {
    width: min(var(--ux-tool-width), calc(100% - 48px));
}

body.dashboard-context-page .headerUserGroup {
    width: min(var(--ux-tool-width), calc(100% - 48px));
}

body.tool-context-page .table-container {
    width: min(var(--ux-tool-width), 100%);
}

body.tool-context-page .mini-toolbox-wrapper {
    width: min(var(--ux-tool-width), calc(100% - 48px));
}

body.tool-context-page .headerUserGroup .projectContext {
    width: 100%;
    flex-wrap: nowrap;
}

body.tool-context-page .headerUserGroup .dropdownBlock {
    flex: 1 1 0;
    min-width: 0;
}

body.dashboard-context-page .headerUserGroup .projectContext {
    width: 100%;
    flex-wrap: nowrap;
}

body.dashboard-context-page .headerUserGroup .dropdownBlock {
    flex: 1 1 0;
    min-width: 0;
}

body.tool-context-page .headerUserGroup .projectSelection,
body.tool-context-page .headerUserGroup .studySelection {
    width: 100%;
    min-width: 0;
}

body.dashboard-context-page .headerUserGroup .projectSelection,
body.dashboard-context-page .headerUserGroup .studySelection {
    width: 100%;
    min-width: 0;
}

body.settings-page .content {
    width: 100%;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
}

body.settings-page .table-container {
    width: min(var(--ux-tool-width), 100%);
}

body.settings-page .table-full {
    margin-left: auto;
    margin-right: auto;
}

body.settings-page .settings-section {
    margin: 6px 0 10px;
    padding: 15px 18px;
}

@media (max-width: 760px) {
    .settings-output-row {
        grid-template-columns: 1fr;
        gap: 8px;
        align-items: flex-start;
    }
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
}

.metric-card canvas {
    width: 100px !important;
    height: 100px !important;
}

.metric-card-issues {
    width: 175px;
    min-height: 0;
    background: #101c2f;
    border: 1px solid #1f2c46;
    border-radius: 12px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 2px;
}

.metric-card-methods {
    width: 175px;
    background: #101c2f;
    border: 1px solid #1f2c46;
    border-radius: 12px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 0;
}

.metric-legend-methods .legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    margin: 2px;
    vertical-align: middle;
}
.metric-legend-issues .legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    margin: 2px;
    vertical-align: middle;
}
.metric-legend .legend-row,
.metric-legend-issues .legend-row,
.metric-legend-methods .legend-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    color: #cfd2d9;
    min-height: var(--legend-row-height, 18px);
}

.metric-legend-issues {
    --legend-row-height: 18px;
    margin-top: 5px;
    margin-left: 5px;
    margin-bottom: 5px;
    margin-right: 5px;
    font-size: x-small;
    max-height: calc(var(--legend-row-height, 18px) * 5);
    overflow-y: auto;
    padding-right: 4px;
}

.metric-legend-methods {
    --legend-row-height: 18px;
    margin-top: 5px;
    margin-left: 5px;
    margin-bottom: 5px;
    margin-right: 5px;
    font-size: x-small;
    width: 100%;
    max-height: calc(var(--legend-row-height, 18px) * 5);
    overflow-y: auto;
    padding-right: 4px;
}

.metrics-charts {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 5px;
    grid-column: 1 / 3;
    min-width: 0;
}

.metrics-count {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    color: #cfd2d9;
    gap: 6px;
    white-space: nowrap;
}

.metrics-count-label {
    font-weight: 600;
    font-size: 15px;
    color: #e2e6ef;
    margin-top: 20px;
    margin-bottom: 0;
}

.metrics-count-label-top {
    font-weight: 600;
    font-size: 15px;
    color: #e2e6ef;
    margin-top: 0;
    margin-bottom: 0;
}

.metrics-count-output {
    font-weight: 600;
    font-size: 24px;
    color: #e2e6ef;
    margin: 0;
}

.metrics-counts {
    grid-column: 3;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #101c2f;
    border: 1px solid #1f2c46;
    border-radius: 10px;
    padding: 8px 10px;
    min-width: 0;
}

.metrics-counts .metrics-count-label:first-child {
    text-decoration: underline;
}
.metrics-counts .metrics-count-label-top:first-child {
    text-decoration: underline;
}

.metrics-empty {
    margin-top: 10px;
    color: #a9b8d8;
    font-size: 13px;
}

.metrics-grid {
    display: grid;
    grid-template-columns: minmax(175px, 1fr) minmax(175px, 1fr) minmax(150px, 0.8fr);
    gap: 8px;
    align-items: stretch;
    width: 100%;
}

.metrics-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 10px;
    background: #1f8efa;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(31,142,250,0.35);
    cursor: pointer;
    flex-shrink: 0;
}

.metrics-reset-btn .material-symbols-outlined {
    font-size: 20px;
}

.metrics-reset-btn:hover:not(:disabled) {
    background: #0f7ade;
}

.metrics-reset-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

.metrics-reset-modal {
    max-width: 560px;
    width: 90%;
}

.metrics-reset-modal__message {
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1.45;
}

.metrics-reset-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.subscription-cancel-modal {
    max-width: 560px;
    width: 90%;
}

.subscription-cancel-modal__message {
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1.5;
}

.subscription-cancel-modal__message--warning {
    color: #ffd9a0;
    font-weight: 600;
}

.subscription-cancel-modal__retention {
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.subscription-cancel-modal__retention p {
    margin: 0 0 10px 0;
    line-height: 1.5;
    color: #e8eefc;
}

.subscription-cancel-modal__retention p:last-child {
    margin-bottom: 0;
}

.subscription-cancel-modal__confirm-gate {
    margin: 16px 0 0;
    padding: 14px 16px 12px;
    border-radius: 10px;
    background: rgba(120, 22, 22, 0.16);
    border: 1px solid rgba(255, 141, 141, 0.18);
}

.subscription-cancel-modal__confirm-label {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: #fff4f4;
}

.subscription-cancel-modal__confirm-gate input[type="text"] {
    width: 100%;
    margin-bottom: 8px;
    border-color: rgba(255, 141, 141, 0.28);
}

.subscription-cancel-modal__confirm-gate input[type="text"]:focus {
    outline: none;
    border-color: rgba(255, 178, 178, 0.78);
    box-shadow: 0 0 0 3px rgba(162, 32, 32, 0.22);
}

.subscription-cancel-modal__confirm-helper {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    line-height: 1.35;
    color: #f0c7c7;
}

.subscription-cancel-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.subscription-cancel-modal__actions--single {
    justify-content: flex-end;
}

.subscription-cancel-modal__confirm-btn {
    background: linear-gradient(180deg, rgba(173, 33, 33, 0.97), rgba(120, 18, 18, 0.97));
    border: 1px solid rgba(255, 163, 163, 0.34);
    color: #fff7f7;
    box-shadow: 0 12px 24px rgba(85, 12, 12, 0.3);
}

.subscription-cancel-modal__confirm-btn:hover:not(:disabled) {
    background: linear-gradient(180deg, rgba(191, 42, 42, 0.99), rgba(136, 24, 24, 0.99));
}

.subscription-cancel-modal__confirm-btn:disabled {
    background: rgba(123, 63, 63, 0.34);
    border-color: rgba(255, 184, 184, 0.12);
    color: rgba(255, 240, 240, 0.55);
    box-shadow: none;
    cursor: not-allowed;
}

.metrics-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.metrics-header .gantt-title {
    margin-bottom: 0;
}

.metrics-reset-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 11000;
    min-width: 260px;
    max-width: 420px;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #2f6f50;
    background: #163327;
    color: #d7f4e6;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.35);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    line-height: 1.3;
}

.mini-toolbox-wrapper {
    position: static;
    display: flex;
    justify-content: center;
    margin: 0;
    width: min(var(--ux-content-width), calc(100% - 48px));
    max-width: 100%;
    z-index: 2;
    grid-area: quick;
    grid-column: 1 / -1;
    justify-self: center;
    align-self: center;
}

.mini-toolbox-wrapper .toolbox-container {
    background-color: transparent;
    box-shadow: none;
    border: none;
    margin: 0 auto;
}

.miniLabel {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
    line-height: 0.50;
}

.rx-context-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    margin: 0;
    line-height: 1.2;
}

.rx-context-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.rx-context-option[hidden] {
    display: none !important;
}

.rx-context-option input {
    margin: 0;
}

.rx-context-row.is-disabled {
    opacity: 0.55;
    pointer-events: none;
}

.rx-context-option.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.modal-actions {
    margin-top: 20px;
    margin-bottom: 10px;
}

.modal-actions button {
    margin-right: 8px;
    min-width: 98px;
    padding: 8px 0;
}

.modal-content {
    background: #242536;
    color: #fff;
    border-radius: 10px;
    padding: 28px 32px 24px 32px;
    box-shadow: 0 2px 32px 0 rgba(0,0,0,0.19);
    min-width: 320px;
    max-width: 94vw;
}

.modal-content h3 {
    margin-top: 0;
    margin-bottom: 16px;
    font-size: 24px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
}

.modal-content input[type="text"] {
    width: 96%;
    background: #16171e;
    color: #fff;
    border-radius: 6px;
    border: 1px solid #666;
    font-size: 1.1em;
    padding: 7px 10px;
    margin-bottom: 15px;
    box-sizing: border-box;
}

.modal-content label {
    display: block;
    color: #eee;
    font-size: 1em;
    margin: 10px 0 5px 0;
}

.rx-context-upload-select {
    width: 96%;
    background: #16171e;
    color: #fff;
    border-radius: 6px;
    border: 1px solid #666;
    font-size: 1em;
    padding: 8px 10px;
    margin-bottom: 14px;
    box-sizing: border-box;
}

#researchArtifactTypeInput,
#researchArtifactTypeInput option {
    color: #000;
}

.rx-context-upload-help {
    margin: 0 0 10px 0;
}

.modal-error {
    color: #ffd84a;
    min-height: 20px;
    margin-top: 6px;
    font-size: 0.98em;
}

.modal-overlay {
    display: none; /* Hide by default, show via JS */
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.55);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.ux-policy-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.55);
    z-index: 10000;
    justify-content: center;
    align-items: center;
}

.ux-policy-modal__content {
    background: #242536;
    color: #fff;
    border-radius: 10px;
    padding: 22px 28px 20px 28px;
    box-shadow: 0 2px 32px 0 rgba(0,0,0,0.19);
    min-width: 280px;
    max-width: 520px;
    width: 90%;
}

.ux-policy-modal__content h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
}

.ux-policy-modal__message {
    margin: 0 0 16px 0;
    font-size: 1em;
    line-height: 1.4;
}

.ux-policy-modal__actions {
    display: flex;
    justify-content: flex-end;
}

.ux-policy-modal__button {
    min-width: 90px;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #666;
    background: #16171e;
    color: #fff;
    cursor: pointer;
}

.ux-policy-modal__button:hover {
    background: #1f2030;
}

.ux-exit-guard-modal {
    z-index: 10010;
}

.ux-exit-guard-modal__content {
    min-width: 320px;
    max-width: 520px;
    width: min(520px, 92vw);
}

.ux-exit-guard-modal__message {
    margin: 0 0 16px 0;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1rem;
    line-height: 1.45;
    color: #f4f7ff;
}

.ux-exit-guard-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
    margin-bottom: 0;
}

.ux-exit-guard-modal__actions button {
    margin-right: 0;
}

.ux-exit-guard-modal__button {
    min-width: 118px;
    padding: 8px 14px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
}

.ux-exit-guard-modal__button--return {
    background: #404a83;
}

.ux-exit-guard-modal__button--return:hover {
    background: #5c6abb;
}

.ux-exit-guard-modal__button--exit {
    background: #8c2f3f;
}

.ux-exit-guard-modal__button--exit:hover {
    background: #a53a4d;
}

.modal-overlay.open {
    display: flex;
}

.gantt-form-modal .gantt-form #task-name {
    width: 100%;
    margin-bottom: 0;
    font-size: 1em;
    padding: 8px;
    height: 42px;
    min-height: 42px;
    background: #0b1320;
    color: #eaf1ff;
    border: 1px solid #30415f;
    border-radius: 8px;
    box-sizing: border-box;
    -webkit-text-fill-color: #eaf1ff;
    caret-color: #eaf1ff;
}

.gantt-form-modal .gantt-form #task-name:focus,
.gantt-form-modal .gantt-form #task-start:focus,
.gantt-form-modal .gantt-form #task-end:focus {
    background: #0b1320;
    color: #eaf1ff;
    border-color: #5b79b3;
    outline: none;
    -webkit-text-fill-color: #eaf1ff;
}

.gantt-form-modal .gantt-form #task-name:-webkit-autofill,
.gantt-form-modal .gantt-form #task-name:-webkit-autofill:hover,
.gantt-form-modal .gantt-form #task-name:-webkit-autofill:focus {
    -webkit-text-fill-color: #eaf1ff;
    caret-color: #eaf1ff;
    box-shadow: 0 0 0 1000px #0b1320 inset;
    -webkit-box-shadow: 0 0 0 1000px #0b1320 inset;
    transition: background-color 9999s ease-out 0s;
}

.gantt-form-modal__content {
    min-width: min(840px, 94vw);
    width: min(840px, 94vw);
}

.gantt-form-modal .form-row.inline > div:nth-child(2),
.gantt-form-modal .form-row.inline > div:nth-child(3) {
    flex: 0 0 165px;
    max-width: 165px;
}

.gantt-form-modal .gantt-form label {
    margin: 0 0 2px 0;
}

.gantt-form-modal .form-row.inline > div:not(.gantt-buttons) {
    gap: 2px;
}

.gantt-form-modal .gantt-form #task-start,
.gantt-form-modal .gantt-form #task-end {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 16px;
    padding-right: 40px;
}

.gantt-form-modal .gantt-form #task-start::-webkit-calendar-picker-indicator,
.gantt-form-modal .gantt-form #task-end::-webkit-calendar-picker-indicator {
    opacity: 0.01;
    cursor: pointer;
}

.artifact-timeline-modal {
    min-width: 420px;
    max-width: 760px;
}

.artifact-timeline-list {
    max-height: 360px;
    overflow-y: auto;
    border: 1px solid #48526c;
    border-radius: 8px;
    background: #1a1f2f;
    padding: 8px;
}

.artifact-timeline-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 8px;
    border-bottom: 1px solid #2f3952;
    color: #f4f6ff;
}

.artifact-timeline-row:last-child {
    border-bottom: none;
}

.artifact-timeline-meta {
    font-size: 0.85em;
    color: #b8c0d8;
}

.artifact-timeline-empty {
    color: #b8c0d8;
    padding: 14px 10px;
}

.terms-ack-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(5, 8, 18, 0.72);
    z-index: 10050;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.terms-ack-overlay.open {
    display: flex;
}

.terms-ack-modal {
    background: #1b2032;
    color: #f4f6ff;
    width: min(980px, 94vw);
    max-height: 90vh;
    border-radius: 14px;
    border: 1px solid #3b4b61;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
}

.terms-ack-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 22px;
    border-bottom: 1px solid #3b4b61;
}

.terms-ack-modal__title {
    font-size: 1.05rem;
    font-weight: 600;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
}

.terms-ack-close {
    border-radius: 6px;
    border: 1px solid #58617a;
    background: #141827;
    color: #fff;
    padding: 6px 10px;
    cursor: pointer;
}

.terms-ack-modal__scroll {
    padding: 18px 22px;
    overflow-y: auto;
    max-height: 55vh;
    background: #141827;
}

.terms-ack-modal__actions {
    padding: 16px 22px 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.terms-ack-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.95rem;
    color: #ffffff;
}

.terms-ack-checkbox span {
    color: #ffffff;
}

.terms-ack-checkbox input:disabled + span {
    color: rgba(255, 255, 255, 0.65);
}

.terms-ack-checkbox input {
    margin-top: 3px;
}

.terms-ack-modal__buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.terms-ack-link {
    color: #7aedff;
    text-decoration: underline;
}

.terms-ack-link:hover {
    text-decoration: none;
}

.terms-ack-status--error {
    color: #ffd84a;
}

.terms-ack-panel {
    margin: 10px 0 16px 0;
    padding: 12px 16px;
    border-radius: 14px;
    border: 1px solid rgba(108, 131, 168, 0.28);
    background: linear-gradient(180deg, rgba(22, 31, 48, 0.96), rgba(18, 26, 40, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 28px rgba(0, 0, 0, 0.18);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 18px;
}

.terms-ack-panel__copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.terms-ack-panel__title {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 3px;
    color: #ffffff;
}

.terms-ack-panel__text {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.35;
    color: rgba(223, 233, 247, 0.9);
}

.terms-ack-panel__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    white-space: nowrap;
}

.terms-ack-panel__actions #termsAckOpen {
    margin-left: 0;
    min-height: 46px;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.2;
    white-space: normal;
}

.terms-ack-panel__status {
    align-self: flex-start;
    text-align: left;
    color: rgba(205, 220, 247, 0.82);
}

@media screen and (max-width: 840px) {
    .terms-ack-panel {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 10px;
    }

    .terms-ack-panel__actions {
        justify-content: flex-start;
        white-space: normal;
    }
}

.terms-ack-locked {
    overflow: hidden;
}

.terms-ack-modal .terms-document h1 {
    font-size: 1.25rem;
}

.terms-ack-modal .terms-document h2 {
    font-size: 1rem;
}

.terms-ack-modal .terms-document p,
.terms-ack-modal .terms-document li {
    font-size: 0.95rem;
}

.terms-ack-shell .terms-ack-message {
    max-width: 720px;
}

.regenerate-summary-modal-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
}

.regenerate-summary-modal-body p {
    margin: 0;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.45;
}

.regenerate-summary-modal-body a {
    color: #7aedff;
    text-decoration: underline;
}

.regenerate-summary-modal-body a:hover {
    text-decoration: none;
}

.regenerate-summary-modal-body.error p {
    color: #ffd84a;
}

.regenerate-summary-modal-pending {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.regenerate-summary-modal-pending div {
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.45;
}

.regenerate-summary-modal .modal-actions {
    margin-top: 20px;
}

.regenerate-summary-result {
    border: 1px solid rgba(93, 116, 170, 0.48);
    border-radius: 10px;
    padding: 12px 14px;
    background: rgba(40, 52, 84, 0.4);
    margin-top: 12px;
}

.regenerate-summary-result.is-error {
    border-color: rgba(210, 120, 120, 0.55);
    background: rgba(98, 34, 34, 0.28);
}

.regenerate-summary-result h4 {
    margin: 0 0 8px;
    color: #ffffff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.0em;
}

.regenerate-summary-result__status {
    font-weight: 600;
}

.persona-container {
    border: 1px solid transparent;
    margin-top: 10px;
    padding: 10px;
}

.persona-container pre {
    white-space: pre-wrap;
}

.pill {
    display: flex;
    background: rgba(31,142,250,0.15);
    color: #7cc0ff;
    padding: 2px 6px;
    font-size: 11px;
    margin-left: 6px;
    justify-content: left;

}

.pill-auto {
    background: rgba(88,213,152,0.18);
    color: #58d598;
}

.plan-attachment {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #454545;
    background: #343434;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.plan-file-ext {
    position: relative;
    z-index: 1;
    font-weight: 700;
    font-size: 9px;
    letter-spacing: 0.08em;
    color: #1d2f5a;
    background: rgba(255, 255, 255, 0.92);
    padding: 2px 6px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
}

.plan-file-hint {
    font-size: 0.85em;
    color: #cfd2d9;
}

.plan-file-icon {
    position: relative;
    width: 35px;
    height: 35px;
    border-radius: 12px;
    background: linear-gradient(160deg, #e7ecf7, #d5dbed);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.plan-file-icon.has-link {
    cursor: pointer;
}

.plan-file-icon.has-link:focus-visible {
    outline: 2px solid #8baaff;
    outline-offset: 2px;
}

.plan-file-icon::after {
    content: '';
    position: absolute;
    inset: 8px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80%;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18));
}

.plan-file-icon::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 0 8px 0 6px;
    box-shadow: -1px 1px 2px rgba(0, 0, 0, 0.08);
}

.plan-file-icon[data-type="docx"] {
    background: linear-gradient(160deg, #e2ebff, #c6d6ff);
}

.plan-file-icon[data-type="docx"]::after {
    background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3h7l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z' fill='%232a52be'/%3E%3Cpath d='M13 3v4a1 1 0 0 0 1 1h4' fill='%23fff'/%3E%3Cpath d='M8.5 12h1.2l.4 2.6.5-2.6h1.1l.5 2.6.4-2.6h1.2l-.8 4h-1.3l-.5-2.4-.5 2.4H9.3l-.8-4Z' fill='%23fff'/%3E%3C/svg%3E");
}

.plan-file-icon[data-type="file"] {
    background: linear-gradient(160deg, #e7ecf7, #d5dbed);
}

.plan-file-icon[data-type="file"]::after {
    background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3h7l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z' fill='%234a5f80'/%3E%3Cpath d='M13 3v4a1 1 0 0 0 1 1h4' fill='%23fff'/%3E%3Cpath d='M8 12h8v1.2H8V12Zm0 2.2h8v1.2H8v-1.2Zm0 2.2h8v1.2H8v-1.2Z' fill='%23fff'/%3E%3C/svg%3E");
}

.plan-file-icon[data-type="md"] {
    background: linear-gradient(160deg, #f1edff, #dcd5ff);
}

.plan-file-icon[data-type="md"]::after {
    background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3h7l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z' fill='%236144e2'/%3E%3Cpath d='M13 3v4a1 1 0 0 0 1 1h4' fill='%23fff'/%3E%3Cpath d='M8 12h1.2l1 1.7 1-1.7H12v4H10.8v-2.1l-1 1.7-1-1.7v2.1H8v-4Zm5 0h1.3l1 2 1-2h1.3l-1.7 3.3V16h-1.2v-.7L13 12Z' fill='%23fff'/%3E%3C/svg%3E");
}

.plan-file-icon[data-type="txt"] {
    background: linear-gradient(160deg, #f4f6f9, #e0e3eb);
}

.plan-file-icon[data-type="txt"]::after {
    background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3h7l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z' fill='%23455566'/%3E%3Cpath d='M13 3v4a1 1 0 0 0 1 1h4' fill='%23fff'/%3E%3Cpath d='M8 12h8v1.2H8V12Zm0 2.2h8v1.2H8v-1.2Zm0 2.2h5v1.2H8v-1.2Z' fill='%23fff'/%3E%3C/svg%3E");
}

.plan-file-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    max-width: 360px;
    text-align: center;
}

.plan-file-name {
    font-weight: 600;
    color: #f4f4f4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.plan-preview {
    margin-top: 8px;
}

.plan-remove-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #c7ccdd;
    background: #ffffff;
    color: #2c2f3b;
    font-weight: 700;
    font-size: 12px;
    line-height: 18px;
    padding: 0;
    cursor: pointer;
    transition: all 0.15s ease;
}

.plan-remove-btn:hover {
    background: #ffefef;
    border-color: #f3b3b3;
    color: #b10000;
}

/* Research plan attachment preview */
.plan-row {
    display: grid;
    grid-template-columns: 170px minmax(200px, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    max-width: 97.5%;
}

.plan-row .contentButton {
    margin-left: 0;
    justify-self: end;
}

.plan-row .contentButtonMain {
    margin-left: 0;
    justify-self: end;
}

.plan-row select,
.plan-row input[type="file"] {
    width: 100%;
    max-width: 360px;
}

.portfolio {
    position: absolute;
    right: 275px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: x-small;
    color: rgb(255, 255, 255);
}

.progressIndicator {
    display: none;
    border: 8px solid rgba(255, 255, 255, 0.1);
    border-left-color: rgb(185, 0, 255);
    height: 60px;
    width: 60px;
    border-radius: 50%;
    animation: rotate linear 2s infinite;
    margin-right: 20px;
}

.project {
    position: absolute;
    left: 0px;
    top: 110px;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

.project-bar {
    display: flex;
    align-items: center;
    gap: 16px; 
    margin-bottom: 16px;
}

.project-bar > #projectSelection.projectSelection {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.project-name {
    cursor: pointer;
    border-radius: 4px;
    padding: 3px 10px;
    display: inline-block;
    transition: background 0.16s, color 0.16s;
}

.project-name.project-selected {
    background: #ffbb2c !important;   /* gold/orange, very visible */
    color: #222 !important;
    font-weight: bold;
    border-radius: 4px;
    box-shadow: 0 2px 12px #ffaa0052;
    outline: 2px solid #fff588;
}

.project-name:hover {
    background: #227de0;
    color: #fff !important;
    font-weight: bold;
    box-shadow: 0 1px 10px #00b3ff48;
}

.projectBrowserMain {
    position: absolute;
    left: 100px;
    top: 100px;
}

.projectContext {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    position: static;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    z-index: 6;
    font-size: 1.25em;   
    color: rgb(0, 0, 0);
    width: 100%;
}

@media (max-width: 1200px) {
    :root {
        --ux-fixed-header-height: auto;
        --ux-fixed-header-offset: 220px;
    }

    body.tool-context-page .headerUserGroup .projectContext {
        flex-wrap: wrap;
    }

    body.tool-context-page .headerUserGroup .dropdownBlock {
        flex: 0 1 auto;
    }

    body.tool-context-page .headerUserGroup .projectSelection,
    body.tool-context-page .headerUserGroup .studySelection {
        width: 260px;
    }

    body.dashboard-context-page .headerUserGroup .projectContext {
        flex-wrap: wrap;
    }

    body.dashboard-context-page .headerUserGroup .dropdownBlock {
        flex: 0 1 auto;
    }

    body.dashboard-context-page .headerUserGroup .projectSelection,
    body.dashboard-context-page .headerUserGroup .studySelection {
        width: 260px;
    }

    .header {
        height: auto;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas:
            "logo auth"
            "quick quick"
            "banner banner"
            "context context";
        align-items: start;
    }

    .auth-row {
        align-self: start;
    }

    .headerUserGroup {
        grid-area: context;
    }

    .mini-toolbox-wrapper,
    .ai-task-banner {
        justify-self: center;
        justify-content: center;
    }
}

@media (max-width: 820px) {
    :root {
        --ux-fixed-header-height: auto;
        --ux-fixed-header-offset: 300px;
    }

    .ai-task-tooltip {
        right: 50%;
        left: auto;
        transform: translateX(50%);
        width: min(468px, calc(100vw - 24px));
    }

    .header {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "logo"
            "auth"
            "quick"
            "banner"
            "context";
        justify-items: center;
        row-gap: 14px;
    }

    .logo,
    .auth-row,
    .ai-task-banner,
    .headerUserGroup,
    .mini-toolbox-wrapper {
        justify-self: center;
        width: 100%;
    }

    .logo img {
        height: 96px;
    }

    .auth-row,
    .ai-task-banner,
    .headerUserGroup,
    .projectContext,
    .mini-toolbox-wrapper {
        justify-content: center;
    }

    .account-menu-panel {
        right: 50%;
        transform: translateX(50%);
        width: min(280px, calc(100vw - 24px));
    }

    .projectContext {
        gap: 14px;
    }
}

.projectContext .headerButton {
    padding-top: 0;
    padding-bottom: 0;
}

.projectContext .projectSelection,
.projectContext .headerButton {
    height: 40px;
    line-height: 40px;
    box-sizing: border-box;
    margin: 0;           
    vertical-align: middle;
    font-weight: bold;
}

.projectGuidance {
    font-weight: bold;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(255, 255, 255);
}

.projectLabel span {
    font-weight: bold !important;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: small !important;
    color: rgb(255, 255, 255) !important; 
}

.projectOption {
    font-weight: bold;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    background-color: rgb(255, 255, 255);
    color:rgb(0, 0, 0)

}

.projectSelection {
    font-weight: bold;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: large;    
    text-align: right;
    height: 40px;         
    width: 260px;         
    padding: 6px 12px;    
    border-radius: 12px;
    background-color: rgb(255, 255, 255);
    color:rgb(0, 0, 0)
}

.projectSelection,
#showProjectModalBtn,
#showStudyModalBtn {
    margin: 0;
    /* Ensure they all have the same min-height and padding for true alignment */
    /* Most already set from your .projectSelection and .table-button, but a little tweak: */
    height: 40px;
}

.projectSelection, .studySelection {
    font-weight: bold;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: large;    
    text-align: right;
    height: 40px;         
    width: 260px;         
    padding: 6px 12px;    
    border-radius: 12px;
    background-color: rgb(255, 255, 255);
    color:rgb(0, 0, 0)
}

.quick-replies {
    display: none;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.quick-reply-btn {
    background: linear-gradient(180deg, #2f8a57 0%, #256f46 100%);
    border: 1px solid #58b07d;
    border-radius: 14px;
    padding: 6px 10px;
    font-size: 0.9em;
    color: #f5fff8;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, transform 0.12s ease-in-out, box-shadow 0.15s ease-in-out;
}

.quick-reply-btn:hover {
    background: linear-gradient(180deg, #369864 0%, #2b7e50 100%);
    border-color: #72c698;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
}

.quick-reply-btn:focus-visible {
    outline: 2px solid #9ae0bb;
    outline-offset: 2px;
}

.quick-reply-btn:active {
    background: linear-gradient(180deg, #276f46 0%, #205a38 100%);
    border-color: #4c9f72;
    transform: translateY(1px);
}

.quick-reply-btn .material-symbols-outlined {
    color: inherit;
    font-size: 16px;
    line-height: 1;
    margin-right: 4px;
}

.quick-reply-btn.selected {
    background: linear-gradient(180deg, #1f5f3b 0%, #18492d 100%);
    border-color: #8fd8b2;
    border-width: 2px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.sent-quick-reply-row {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.sent-quick-reply-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 14px;
    padding: 6px 10px;
    background: linear-gradient(180deg, #1f5f3b 0%, #18492d 100%);
    border: 2px solid #8fd8b2;
    color: #f5fff8;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.chat-message .sent-user-text {
    color: inherit;
    font: inherit;
}

.chat-message__schedule-intro,
.chat-message__schedule-outro {
    color: inherit;
    font: inherit;
}

.sent-schedule-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(120px, 0.9fr);
    gap: 6px 10px;
    margin-top: 2px;
}

.sent-schedule-summary__head,
.sent-schedule-summary__row {
    display: contents;
}

.sent-schedule-summary__head span {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sent-schedule-summary__row span {
    display: block;
    font-size: 0.9rem;
    line-height: 1.35;
}

.sent-schedule-summary--user .sent-schedule-summary__head span {
    color: #ffffff;
    font-weight: 700;
}

.sent-schedule-summary--user .sent-schedule-summary__row span {
    color: #ffffff;
    font-weight: 400;
}

.sent-schedule-summary--bot .sent-schedule-summary__head span {
    color: #223446;
    font-weight: 700;
}

.sent-schedule-summary--bot .sent-schedule-summary__row span {
    color: #223446;
    font-weight: 400;
}

.sent-persona-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
    gap: 6px 10px;
    margin-top: 2px;
}

.sent-persona-summary__head,
.sent-persona-summary__row {
    display: contents;
}

.sent-persona-summary__head span {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sent-persona-summary__row span {
    display: block;
    font-size: 0.9rem;
    line-height: 1.35;
}

.sent-persona-summary--user .sent-persona-summary__head span {
    color: #ffffff;
    font-weight: 700;
}

.sent-persona-summary--user .sent-persona-summary__row span {
    color: #ffffff;
    font-weight: 400;
}

.sent-persona-summary--bot .sent-persona-summary__head span {
    color: #223446;
    font-weight: 700;
}

.sent-persona-summary--bot .sent-persona-summary__row span {
    color: #223446;
    font-weight: 400;
}

.sent-response-summary__section {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sent-response-summary__title {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
}

.sent-response-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
    gap: 6px 10px;
    margin-top: 2px;
}

.sent-response-summary__head,
.sent-response-summary__row {
    display: contents;
}

.sent-response-summary__head span {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sent-response-summary__row span {
    display: block;
    font-size: 0.9rem;
    line-height: 1.35;
}

.sent-response-summary--user .sent-response-summary__head span,
.sent-response-summary--user .sent-response-summary__title {
    color: #ffffff;
    font-weight: 700;
}

.sent-response-summary--user .sent-response-summary__row span {
    color: #ffffff;
    font-weight: 400;
}

.sent-response-summary--bot .sent-response-summary__head span,
.sent-response-summary--bot .sent-response-summary__title {
    color: #223446;
    font-weight: 700;
}

.sent-response-summary--bot .sent-response-summary__row span {
    color: #223446;
    font-weight: 400;
}

@media (max-width: 640px) {
    .schedule-batch-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .schedule-batch-grid__head {
        display: none;
    }

    .schedule-batch-grid__task {
        padding-top: 6px;
    }

    .schedule-batch-grid__date {
        margin-bottom: 4px;
    }

    .persona-definition-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .persona-definition-grid__head {
        display: none;
    }

    .persona-definition-grid__task {
        padding-top: 6px;
    }

    .persona-definition-grid__value {
        margin-bottom: 4px;
    }

    .response-review-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .response-review-grid__head {
        display: none;
    }

    .response-review-grid__value {
        margin-bottom: 4px;
    }

    .sent-schedule-summary {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .sent-schedule-summary__head {
        display: none;
    }

    .sent-persona-summary {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .sent-persona-summary__head {
        display: none;
    }

    .sent-response-summary {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .sent-response-summary__head {
        display: none;
    }
}

.quick-date-popover {
    position: fixed;
    z-index: 10050;
    width: 264px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border-radius: 12px;
    border: 1px solid #5f87aa;
    background: #27445f;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.quick-date-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.quick-date-title {
    color: #f6fbff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    flex: 1 1 auto;
}

.quick-date-nav {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #6f96bc;
    background: #345a7a;
    color: #f5fbff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.quick-date-nav .material-symbols-outlined {
    font-size: 18px;
    line-height: 1;
}

.quick-date-nav:hover {
    background: #3f6788;
    border-color: #8ab5dd;
}

.quick-date-nav:focus-visible {
    outline: 2px solid #8ab5dd;
    outline-offset: 1px;
}

.quick-date-weekdays,
.quick-date-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
}

.quick-date-weekdays span {
    color: #c5d9eb;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
}

.quick-date-empty {
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.quick-date-day {
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid #507495;
    background: #315472;
    color: #f5fbff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.quick-date-day:hover {
    background: #3a6183;
    border-color: #8ab5dd;
}

.quick-date-day.today {
    border-color: #9ec8ed;
}

.quick-date-day.selected {
    background: #f5fbff;
    color: #1d3a53;
    border-color: #f5fbff;
}

.quick-date-day:focus-visible {
    outline: 2px solid #9ec8ed;
    outline-offset: 1px;
}

.recent-body {
    overflow: hidden;
}

.recent-card {
    flex: 1 1 260px;
    height: 100%;
    background: #0f1a2a;
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(0,0,0,0.25);
    padding: 12px;
    box-sizing: border-box;
    min-width: 260px;
}

.recent-empty {
    color: #a9b8d8;
    font-size: 13px;
}

.recent-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    table-layout: fixed;
}

.recent-table thead,
.recent-table tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.recent-table thead {
    /* Keep header columns aligned with scrollable tbody when a vertical scrollbar is present. */
    width: calc(100% - var(--recent-scrollbar-width, 0px));
}

.recent-table tbody {
    display: block;
    max-height: calc(var(--recent-row-height, 32px) * 6);
    overflow-y: auto;
    overflow-x: auto;
    scrollbar-gutter: stable;
}

.recent-table th:nth-child(1),
.recent-table td:nth-child(1) {
    width: 60%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.recent-table th:nth-child(2),
.recent-table td:nth-child(2) {
    width: 20%;
}

.recent-table th:nth-child(3),
.recent-table td:nth-child(3) {
    width: 20%;
}

.recent-col-link {
    width: 20%;
}

.recent-col-time {
    width: 20%;
}

.recent-table a {
    color: #7aedff;
    text-decoration: none;
    font-size: 11px;
}

.recent-table a:hover {
    text-decoration: underline;
}

.recent-table th {
    font-weight: 700;
    color: #ffffff;
}

.recent-table th,
.recent-table td {
    text-align: left;
    padding: 6px 4px;
    border-bottom: 1px solid #1f2c46;
    color: #cfd2d9;
}

.recent-table td.recent-col-link,
.recent-table td.recent-col-time {
    text-align: center;
}

.sectionTitle {
    display: flex; 
    align-items: center; 
    border-bottom: 1px solid; 
    padding-top: 5px;
    padding-bottom: 5px; 
    padding-left: 5px;
    padding-right: 5px;
    background-color: #5c5c5c;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    width: 100%;
    border: 2px solid transparent; /* Use transparent border */
    box-sizing: border-box; /* Include border in element's size */
    position: relative;
}

.sectionTitle-spacer {
    flex: 1 1 auto;   /* Take as much remaining space as possible */
}

.sidebar {
    position: fixed;
    width: 100px;
    height: auto;
    z-index: 1; 
    top: 0; 
    left: 0;
}

.slides,
.flex-control-nav,
.flex-direction-nav { 
    margin: 0; 
    padding: 0; 
    list-style: none; 
    display: block;
}

.spinner {
    display: inline-block;
    width: 20px; height: 20px;
    border: 3px solid #ccc;
    border-top: 3px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    vertical-align: middle;
}

button.startNewAnalysisBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    margin-left: 0;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #1f8efa;
    color: #fff;
    font-size: 1.0em;
    border-radius: 10px;
    padding: 6px 8px;
    font-weight: normal;
    border: none;
    box-shadow: 0 10px 24px rgba(31,142,250,0.35);
    transition: background 0.18s;
}

.sectionTitle .startNewAnalysisBtn + .startNewAnalysisBtn {
    margin-left: 6px;
}

button.startNewAnalysisBtn:hover {
    background: #0f7ade;
    color: #fff;
}

.status-bottom-bar {
    display: flex; 
    align-items: center; 
    border-bottom: 1px solid; 
    padding-top: 5px;
    padding-bottom: 5px; 
    padding-left: 5px;
    padding-right: 5px;
    background-color: #322735;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    width: 97.5%;
    margin-top: 50px;
    border: 2px solid transparent; /* Use transparent border */
    box-sizing: border-box; /* Include border in element's size */
    border-radius: 10px; /* Match border radius style (optional) */
    position: relative;
}

.status-bottom-bar.rx-inline {
    margin-top: -30px;
    width: 100%;
}

.rx-summary-actions {
    display: none;
    justify-content: flex-end;
    position: absolute;
    right: 5px;
    bottom: 5px;
}

.rx-summary-actions.rx-visible {
    display: flex;
}

.rx-summary-actions .rx-cancel-button {
    padding: 6px 16px;
    font-size: 0.95em;
}

.status-bottom-bar.rx-final {
    background-color: transparent;
}

.status-bottom-bar.rx-final .status-indicator-wrap {
    width: 100%;
    min-height: auto;
    padding: 0;
}

.status-bottom-bar.rx-final .status-text-wrap {
    padding-right: 0;
}

.status-bottom-bar.rx-startup .status-text-wrap {
    justify-content: flex-start;
}

.status-bottom-bar.rx-startup #statusContainer {
    min-height: 76px;
    display: flex;
    align-items: center;
}

.status-bottom-bar a {
    color: #31c2ff;
    text-decoration: underline;
    font-weight: bold;
}

.status-bottom-bar a:hover {
    color: #ffb54a;
}

.status-bottom-bar span, .status-bottom-bar b, .status-bottom-bar strong {
    color: #fff !important; 
}

.status-indicator-wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 18px; /* Space between spinner and status */
    margin: 0 auto;
    width: 97.5%;
    min-height: 164px;
    padding: 14px 0 12px;
    box-sizing: border-box;
}

.studyNotice {
    display:none; 
    color: #666; 
    font-style: italic; 
    margin-top:5px;
}

.studySelection {
    font-weight: bold;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: large;    
    text-align: right;
    height: 40px;         
    width: 260px;         
    padding: 6px 12px;    
    border-radius: 12px;
    background-color: rgb(255, 255, 255);
    color:rgb(0, 0, 0)
}

.projectSelection.is-disabled,
.studySelection.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.table-button {
    width: 100px;
    min-width: 90px;
    padding: 8px 0;
    margin: 0;
    background-color: #404a83;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.table-button:hover {
    background-color: #5c6abb;
}

.table-container {
    width: var(--ux-content-width); /* explicitly fixed width for consistency */
    max-width: 100%; /* responsive */
    box-sizing: border-box;
    margin: 0 auto; /* centered in parent */
}

.table-container table {
    margin-bottom: 0px;
    width: 100%;
}

.table-container table th {
    background: #282c34;
    color: #fff;
    font-weight: bold;
}

.table-container table th,
.table-container table td {
    vertical-align: middle;
    text-align: left;
}

/* Shared layout helpers */
.table-full {
    width: 100%;
}

.project-browser-page .table-container table {
    table-layout: fixed;
}

/* Project browser */
#projectBrowserGuidance {
    display: block;
}

#showRenameProjectBtn,
#deleteProjectBtn {
    display: none;
}

.project-explorer-shell {
    margin-top: 16px;
    border-radius: 16px;
    border: 1px solid rgba(109, 128, 173, 0.75);
    background: linear-gradient(180deg, rgba(24, 29, 43, 0.95) 0%, rgba(18, 24, 38, 0.94) 100%);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
    overflow: auto;
    max-height: min(70vh, 760px);
    width: 100%;
    min-width: 0;
}

.project-explorer-toolbar {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    background: linear-gradient(180deg, rgba(54, 67, 109, 0.98) 0%, rgba(38, 48, 83, 0.96) 100%);
    border-bottom: 1px solid rgba(124, 147, 205, 0.55);
    flex-wrap: nowrap;
}

.project-explorer-toolbar__summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    flex: 1 1 auto;
    min-width: 0;
}

.project-explorer-toolbar__selection {
    color: #f2f6ff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.92em;
    font-weight: 600;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 1.2em;
}

.project-explorer-toolbar__path {
    color: #d8e5ff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.88em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.project-explorer-breadcrumb {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: #d8e5ff;
    font: inherit;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

button.project-explorer-breadcrumb {
    cursor: pointer;
}

button.project-explorer-breadcrumb:hover {
    color: #ffffff;
    text-decoration: underline;
}

button.project-explorer-breadcrumb:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 2px;
    border-radius: 4px;
}

.project-explorer-breadcrumb.is-current {
    color: #ffffff;
}

.project-explorer-breadcrumb-sep {
    display: inline-block;
    margin: 0 6px;
    color: rgba(216, 229, 255, 0.75);
}

.project-explorer-toolbar__actions {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}

.project-explorer-action {
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    border: 1px solid rgba(119, 144, 214, 0.62);
    border-radius: 10px;
    background: linear-gradient(180deg, #404a83 0%, #33406f 100%);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.1s ease, opacity 0.15s ease;
    flex: 0 0 auto;
}

.project-explorer-action[hidden] {
    display: none !important;
}

.project-explorer-action:hover {
    background: linear-gradient(180deg, #4b589a 0%, #3a4a81 100%);
}

.project-explorer-action:focus-visible {
    outline: 2px solid rgba(154, 202, 255, 0.95);
    outline-offset: 2px;
}

.project-explorer-action .material-symbols-outlined {
    font-size: 20px;
    line-height: 1;
}

.project-explorer-action.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    background: linear-gradient(180deg, #4d5772 0%, #454e66 100%);
    border-color: rgba(126, 137, 166, 0.48);
}

.project-explorer-action.is-disabled:hover {
    background: linear-gradient(180deg, #4d5772 0%, #454e66 100%);
}

.file-explorer-list {
    padding: 10px 12px 14px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.project-explorer-empty {
    padding: 18px 10px;
    color: #d7e5ff;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.98em;
    font-style: italic;
}

@media (max-width: 760px) {
    .project-explorer-toolbar {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .project-explorer-toolbar__summary {
        flex-basis: 100%;
    }

    .project-explorer-toolbar__actions {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
    }
}

/* Rx Analyzer */
#personaSelectionStep_A,
#personaSelectionStep_B,
#interviewNotesInstructions,
#interviewNotesControls {
    display: block;
}

#customPersona {
    display: none;
}

#userSpecifiedContext {
    width: 50%;
    max-height: 10em;
    overflow: auto;
    display: block;
    padding: 10px;
    resize: vertical;
    border-radius: 10px;
    background-color: #ffffff;
    color: rgb(0, 0, 0);
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    border: 1px solid rgb(0, 0, 0);
    box-sizing: border-box;
}

#userSpecifiedContext::placeholder {
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: small;
    color: rgb(0, 0, 0);
    font-style: italic;
    line-height: 1.3;
}

.rx-optional-context__toggle {
    background: none;
    border: none;
    color: rgb(255, 255, 255);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border-radius: 0;
    font-family: 'Gill Sans', Tahoma, Geneva, Verdana, sans-serif;
    font-size: medium;
    line-height: 0.50;
    cursor: pointer;
}

.rx-optional-context__toggle:hover {
    background: none;
    opacity: 0.9;
}

.rx-optional-context__toggle:focus-visible {
    outline: 2px solid rgba(121, 176, 255, 0.9);
    outline-offset: 2px;
}

.rx-optional-context__toggle .material-symbols-outlined {
    font-size: 20px;
}

.rx-optional-context__body {
    margin-top: 20px;
}

/* Rx Research Planner */
#planPreview {
    display: none;
}

/* Legacy pages */
#chat-input {
    margin-top: 20px;
}

#interviewNotesA,
#interviewNotesB,
#personaSelectionStepA,
#personaSelectionStepB,
#uploadIinterviewNotesA,
#uploadIinterviewNotesB {
    display: none;
}

/* Dashboard metrics cards */
.task-and-metrics {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr) minmax(0, 0.8fr);
    gap: 10px; /* keep clear separation between cards */
    align-items: stretch;
    box-sizing: border-box;
    padding: 0;
}

.task-and-metrics > #task-wrapper,
.task-and-metrics > .task-metrics-row,
.task-and-metrics > #recent-activities {
    margin: 0; /* avoid accidental overlap; gap handles spacing */
}

.task-and-metrics > * {
    height: 100%;
    min-width: 0;
}

.task-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-top: 4px;
    padding-right: 4px;
    margin-top: -4px;
}

.task-list,
.recent-body {
    flex: 1 1 auto;
}

.task-list__empty { color: #4b5b73; }

.task-metrics-row {
    display: flex;
    width: 100%;
    min-width: 0;
    height: 100%;
}

.task-row {
    background: #696969;
    color: #dfe7f5;
    padding: 10px;
    border-radius: 10px;
    border: 2px solid transparent;
    box-shadow: 0 12px 28px rgba(0,0,0,0.22);
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
    width: 250px;
    max-width: 250px;
    flex: 0 0 auto;
    align-self: stretch;
    position: relative;
}

.task-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(0,0,0,0.3);
}

.task-row--due-today {
    border-color: #37c871;
}

.task-row__chip {
    position: absolute;
    bottom: 8px;
    right: 8px;
    padding: 2px 6px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
}

.task-row__chip--begins-today {
    background: #37c871;
}

.task-row__chip--begins-tomorrow {
    background: #8b5cf6;
}

.task-row__chip--ongoing {
    background: #3b82f6;
}

.task-row__chip--due-today {
    background: #d94b4b;
}

.task-row__dates { font-size: 13px; margin-top: 4px; color: #c6d4f0; }

.task-row__meta { font-size: 12px; color: #9fb1d3; margin-top: 2px; }

.task-row__title { font-weight: 700; }

.toolbox-container {
    flex: 1;
    padding-top: 10px;
    padding-bottom: 20px;
    padding-left: 0px;
    padding-right: 0px;
    background-color: #303030;
    border-radius: 10px;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
    margin-top: 0px;
    margin-bottom: 0px;
    width: auto;    
    max-width: 100%; 
}

.toolbox-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    padding: 2px;
    margin-top: 0px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    width: 100%;
}

.toolbox-controls .toolbox-tile::before {
    content: "";
    display: block;
    width: 100%;
    height: 170px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.toolbox-mini {
    display: inline-block;
    padding-top: 0px;
    padding-bottom: 10px;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
}

.toolbox-mini .toolbox-tile {
    font-size: 8px;
    padding: 6px 5px 7px;
    width: 50px;
    min-width: 50px;
    flex: 0 0 50px;
    gap: 4px;
}

.toolbox-mini .toolbox-controls {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 5px;
    padding: 1px;
}

.toolbox-mini .toolbox-controls .toolbox-tile::before {
    height: 50px;
}

.tree-indent {
    flex-shrink: 0;
    width: var(--tree-indent, 0px);
    display: inline-block;
    height: 1px; /* or height: 0 for tighter rows */
}

.upload-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  vertical-align: middle;
}

.upload-label input[type="file"] {
  display: none;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

/* At-Rules */

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-4px);}
    to { opacity: 1; transform: translateY(0);}
}

@keyframes rotate{
    from{
        transform: rotateZ(0deg);
    }
    to{
        transform: rotateZ(360deg);
    }
}

@keyframes spin {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);}
}

@media (max-width: 480px) {
    .modal-content {
        padding: 18px 4vw;
        min-width: unset;
    }

    .gantt-form-modal__content {
        padding: 0;
        width: 94vw;
        min-width: 0;
    }
}

@media (max-width: 600px) {
    .plan-attachment {
        width: 100%;
    }
    .plan-file-name {
        max-width: 100%;
    }

    .subscription-cancel-modal__actions {
        flex-direction: column-reverse;
    }

    .subscription-cancel-modal__actions button {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .plan-row {
        grid-template-columns: 1fr;
    }
    .plan-row .contentButton {
        width: 100%;
        justify-self: stretch;
    }
    #savedPlanSelect,
    .plan-row select,
    .plan-row input[type="file"] {
        max-width: 100%;
    }
}

@media (max-width: 720px) {
    .plan-row {
        grid-template-columns: 1fr;
    }
    .plan-row .contentButtonMain {
        width: 100%;
        justify-self: stretch;
    }
    #savedPlanSelect,
    .plan-row select,
    .plan-row input[type="file"] {
        max-width: 100%;
    }
}

@media (max-width: 900px) {
    .toolbox-mini .toolbox-controls {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (min-width: 901px) {
    .task-and-metrics {
        height: 370px;
        min-height: 370px;
    }

    #task-wrapper,
    .task-metrics-row,
    #recent-activities {
        height: 370px;
        min-height: 370px;
    }

    #recent-activities {
        overflow: hidden;
    }

    .recent-body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
    }

    .recent-table {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
    }

    .recent-table tbody {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
    }

    #metrics-wrapper {
        min-height: 0;
        overflow: hidden;
    }

    .metrics-grid {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 140px;
        grid-template-rows: minmax(0, 1fr);
    }

    .metrics-charts {
        width: 100%;
        height: 100%;
        min-height: 0;
        box-sizing: border-box;
    }

    .metric-card-issues,
    .metric-card-methods {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        height: 100%;
        min-height: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .metrics-counts {
        width: 140px;
        max-width: 140px;
        height: 100%;
        min-height: 0;
        overflow: hidden;
        box-sizing: border-box;
        justify-self: end;
        padding-top: 12px;
        padding-bottom: 12px;
        gap: 8px;
    }

    .metric-card canvas {
        width: 88px !important;
        height: 88px !important;
    }

    .metric-legend-issues,
    .metric-legend-methods {
        max-height: calc(var(--legend-row-height, 18px) * 6);
    }

    .metrics-count {
        gap: 2px;
    }

    .metrics-count-label {
        margin-top: 4px;
    }

    .metrics-count-output {
        font-size: 22px;
    }
}

@media (max-width: 900px) {
    #gantt-wrapper,
    .gantt-headline,
    .gantt-form { width: 95%; }
    .gantt-form-modal .gantt-form { width: 100%; }
    .gantt-title { font-size: 20px; }
    #task-wrapper {
        margin-left: calc((100% - 95%)/2);
    }
    .task-and-metrics {
        width: 95%;
        grid-template-columns: 1fr;
    }
    .metrics-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    #metrics-wrapper {
        width: 100%;
    }
    .metrics-counts {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

/* Admin tools */
.sectionTitle .admin-tools-link {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1d4ed8;
    border: 1px solid #93c5fd;
    border-radius: 8px;
    padding: 6px 12px;
    background: #eff6ff;
}

.admin-main {
    align-items: flex-start;
}

.admin-shell {
    width: min(1280px, 96vw);
    margin: 18px auto;
    padding: 14px;
}

.admin-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-section {
    margin-top: 20px;
    padding: 14px;
    border: 1px solid #d6dce7;
    border-radius: 12px;
    background: #ffffff;
}

.admin-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.admin-section-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}

.admin-range-select {
    max-width: 180px;
}

.admin-dashboard-controls {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin: 12px 0 16px;
}

.admin-kpi-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
}

.admin-kpi-card strong {
    font-size: 1.35rem;
}

.admin-chart-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.admin-chart-card {
    border: 1px solid #d6dce7;
    border-radius: 10px;
    padding: 10px;
    background: #fff;
    min-height: 220px;
}

.admin-chart-card h3 {
    margin: 0 0 8px;
    font-size: 0.95rem;
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-users-table,
.admin-events-table,
.admin-audit-table {
    min-width: 980px;
}

.admin-log-controls {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 8px;
}

.admin-log-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.admin-log-controls input {
    min-width: 260px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 7px 10px;
}

.admin-log-output,
.admin-risk-output,
.admin-sim-output {
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 8px;
    padding: 10px;
    max-height: 260px;
    overflow: auto;
    font-size: 0.8rem;
}

.admin-sim-actions {
    margin-top: 8px;
    display: flex;
    justify-content: flex-start;
}

.admin-sim-actions .contentButton[hidden] {
    display: none;
}

.admin-sim-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 10px;
}

.admin-sim-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid #d6dce7;
    border-radius: 10px;
    padding: 10px;
    background: #fff;
}

.admin-sim-card input,
.admin-sim-card textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 8px 10px;
}

/* Admin UI refinement */
body.admin-theme {
    background: radial-gradient(circle at top left, #1a2744 0%, #0b1020 45%, #070b16 100%);
    color: #f3f4f6;
}

body.admin-theme .admin-shell {
    background: transparent;
}

body.admin-theme .admin-section {
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.92) 0%, rgba(10, 15, 30, 0.92) 100%);
    border: 1px solid rgba(148, 163, 184, 0.35);
    box-shadow: 0 8px 30px rgba(2, 6, 23, 0.35);
}

body.admin-theme .admin-section h2,
body.admin-theme .admin-section h3,
body.admin-theme .admin-section p,
body.admin-theme .admin-section label,
body.admin-theme .admin-section strong,
body.admin-theme .admin-section span,
body.admin-theme .admin-section th,
body.admin-theme .admin-section td {
    color: #f3f4f6;
}

body.admin-theme .admin-kpi-card {
    background: rgba(30, 41, 59, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.35);
}

body.admin-theme .admin-kpi-card span {
    color: #cbd5e1;
}

body.admin-theme .admin-kpi-card strong {
    color: #ffffff;
}

body.admin-theme .admin-chart-grid {
    align-items: stretch;
}

body.admin-theme .admin-chart-card {
    background: rgba(15, 23, 42, 0.95);
    border: 1px solid rgba(148, 163, 184, 0.35);
    height: 360px;
    min-height: 360px;
    display: flex;
    flex-direction: column;
}

body.admin-theme .admin-chart-card canvas {
    flex: 1 1 auto;
    width: 100% !important;
    height: 100% !important;
}

body.admin-theme .admin-chart-card--subscriptions {
    justify-content: center;
}

body.admin-theme .admin-chart-card--subscriptions h3 {
    margin-bottom: 4px;
}

body.admin-theme .admin-chart-card--subscriptions canvas {
    height: calc(100% - 34px) !important;
    max-height: calc(100% - 34px);
}

body.admin-theme .admin-table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
}

body.admin-theme .admin-table-wrap.admin-table-wrap-scroll50,
body.admin-theme .admin-table-wrap.admin-table-wrap-scroll25 {
    overflow-y: auto;
}

body.admin-theme .admin-table-wrap.admin-table-wrap-scroll50 {
    max-height: 780px;
}

body.admin-theme .admin-table-wrap.admin-table-wrap-scroll25 {
    max-height: 420px;
}

body.admin-theme .admin-data-table,
body.admin-theme .admin-mini-table {
    border-collapse: collapse;
    width: 100%;
    table-layout: auto;
}

body.admin-theme .admin-data-table th,
body.admin-theme .admin-data-table td,
body.admin-theme .admin-mini-table th,
body.admin-theme .admin-mini-table td {
    border: 1px solid rgba(148, 163, 184, 0.28);
    padding: 6px 8px;
    vertical-align: middle;
    white-space: nowrap;
    line-height: 1.2;
    font-size: 0.8rem;
}

body.admin-theme .admin-data-table th,
body.admin-theme .admin-mini-table th {
    background: rgba(30, 41, 59, 0.95);
    font-weight: 700;
}

body.admin-theme .admin-table-wrap.admin-table-wrap-scroll50 .admin-data-table thead th,
body.admin-theme .admin-table-wrap.admin-table-wrap-scroll25 .admin-data-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

body.admin-theme .admin-data-table tbody tr:nth-child(odd),
body.admin-theme .admin-mini-table tbody tr:nth-child(odd) {
    background: rgba(15, 23, 42, 0.65);
}

body.admin-theme .admin-data-table tbody tr:nth-child(even),
body.admin-theme .admin-mini-table tbody tr:nth-child(even) {
    background: rgba(30, 41, 59, 0.55);
}

body.admin-theme .admin-row-action,
body.admin-theme .admin-log-controls input,
body.admin-theme .admin-log-controls select,
body.admin-theme .admin-sim-card input,
body.admin-theme .admin-sim-card textarea,
body.admin-theme .admin-range-select,
body.admin-theme .admin-refresh-select,
body.admin-theme .admin-sim-card .projectSelection {
    background: #111827;
    color: #f8fafc;
    border: 1px solid rgba(148, 163, 184, 0.4);
}

body.admin-theme .admin-refresh-select,
body.admin-theme .admin-sim-card .projectSelection {
    background-color: #111827 !important;
    color: #f8fafc !important;
    -webkit-appearance: menulist;
    appearance: auto;
    padding-right: 26px;
}

body.admin-theme .admin-log-controls {
    align-items: stretch;
}

body.admin-theme .admin-log-row {
    align-items: center;
}

body.admin-theme #adminClearAllLogsBtn {
    width: auto;
    min-width: 180px;
    white-space: nowrap;
}

body.admin-theme #adminExportMetricsBtn,
body.admin-theme #adminExportAllLogsBtn,
body.admin-theme #adminExportUserLogBtn,
body.admin-theme #adminExportAuditBtn {
    width: auto;
    white-space: nowrap;
}

body.admin-theme #adminClearSelectedLogBtn,
body.admin-theme #adminClearUserLogBtn {
    width: auto;
    min-width: 220px;
    white-space: nowrap;
}

body.admin-theme .admin-log-output,
body.admin-theme .admin-sim-output,
body.admin-theme .admin-risk-output {
    background: rgba(2, 6, 23, 0.92);
    color: #e2e8f0;
    border: 1px solid rgba(148, 163, 184, 0.28);
}

body.admin-theme .admin-risk-title {
    margin: 14px 0 8px;
    color: #f8fafc;
}

body.admin-theme .admin-risk-output {
    padding: 10px;
    border-radius: 8px;
}

body.admin-theme .admin-risk-output p {
    margin: 8px 0;
    color: #e5e7eb;
}

body.admin-theme .admin-sim-card {
    background: rgba(15, 23, 42, 0.95);
    border: 1px solid rgba(148, 163, 184, 0.35);
    min-height: 450px;
}

body.admin-theme .admin-sim-field-label {
    color: #cbd5e1;
    font-size: 0.78rem;
    font-weight: 600;
    margin: 2px 0 0;
}

body.admin-theme .admin-sim-inputs-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
    margin-bottom: 10px;
}

body.admin-theme .admin-sim-inputs-group {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.8);
    min-width: 0;
}

body.admin-theme .admin-sim-inputs-group .contentButton {
    white-space: nowrap;
    width: auto;
    min-width: 150px;
}

body.admin-theme #adminDataFilesLabel,
body.admin-theme #adminSummaryFilesLabel {
    color: #cbd5e1;
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: nowrap;
}

body.admin-theme .admin-sim-reset-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    border: none;
    border-radius: 10px;
    background: #1f8efa;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(31, 142, 250, 0.35);
}

body.admin-theme .admin-sim-reset-icon-btn .material-symbols-outlined {
    font-size: 20px;
}

body.admin-theme .admin-sim-reset-icon-btn:hover:not(:disabled) {
    background: #0f7ade;
}

body.admin-theme .admin-sim-reset-icon-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

@media (max-width: 900px) {
    body.admin-theme .admin-sim-inputs-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    body.admin-theme .admin-chart-card {
        height: 320px;
        min-height: 320px;
    }
}

/* Admin tuning updates */
body.admin-theme .admin-section-header {
    gap: 10px;
}

body.admin-theme .admin-subsection-header {
    margin-top: 10px;
}

body.admin-theme .admin-refresh-select {
    max-width: 160px;
}

body.admin-theme .admin-range-select {
    max-width: 170px;
}

body.admin-theme .admin-dashboard-controls .projectSelection {
    height: 34px;
    border-radius: 8px;
}

body.admin-theme .admin-chart-card {
    height: 410px;
    min-height: 410px;
}

body.admin-theme .admin-data-table th,
body.admin-theme .admin-data-table td {
    white-space: normal;
    word-break: break-word;
}

body.admin-theme #adminAuditTable th:nth-child(1),
body.admin-theme #adminAuditTable td.audit-col-ts,
body.admin-theme #adminAuditTable th:nth-child(2),
body.admin-theme #adminAuditTable td.audit-col-action,
body.admin-theme #adminAuditTable th:nth-child(3),
body.admin-theme #adminAuditTable td:nth-child(3),
body.admin-theme #adminAuditTable th:nth-child(4),
body.admin-theme #adminAuditTable td.audit-col-user {
    width: 1%;
    white-space: nowrap;
}

body.admin-theme #adminAuditTable td.audit-col-details {
    white-space: normal;
    word-break: break-word;
}

body.admin-theme .admin-pref-pill {
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
    color: #e5e7eb;
}

body.admin-theme .admin-log-output {
    padding: 0;
    overflow: auto;
}

body.admin-theme .admin-log-table-wrap {
    padding: 8px;
}

body.admin-theme .admin-log-table th,
body.admin-theme .admin-log-table td {
    white-space: nowrap;
    font-size: 0.76rem;
}

body.admin-theme .admin-risk-summary-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

body.admin-theme .admin-risk-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex: 0 0 10px;
}

body.admin-theme .admin-risk-dot-lg {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
}

body.admin-theme .admin-risk-scorecard {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

body.admin-theme #adminBulkApplyBtn {
    width: fit-content;
    white-space: nowrap;
    padding: 8px 14px;
}

body.admin-theme #adminResetEventsBtn {
    width: fit-content;
    white-space: nowrap;
    padding: 8px 14px;
}

body.admin-theme .admin-sim-card input,
body.admin-theme .admin-sim-card textarea,
body.admin-theme .admin-sim-card select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

body.admin-theme .admin-sim-card textarea {
    min-height: 96px;
    resize: vertical;
}

body.admin-theme .admin-checkbox-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    background: #111827;
}

body.admin-theme .admin-checkbox-list label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    white-space: nowrap;
    color: #f8fafc;
    font-size: 0.8rem;
}

body.admin-theme .admin-checkbox-list input[type="checkbox"] {
    width: auto !important;
    max-width: none !important;
    height: auto;
    margin: 0;
    flex: 0 0 auto;
    accent-color: #60a5fa;
}

body.admin-theme .admin-open-ended {
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    padding: 8px;
    background: rgba(15, 23, 42, 0.8);
}

body.admin-theme .admin-open-ended-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}

body.admin-theme .admin-open-ended-row textarea {
    width: 100%;
    background: #111827 !important;
    color: #f8fafc !important;
}

body.admin-theme .admin-open-ended-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.admin-theme .admin-open-ended-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 6px;
    font-size: 0.76rem;
    color: #e5e7eb;
}

body.admin-theme .admin-open-delete-btn {
    padding: 4px 8px;
    font-size: 0.74rem;
}

body.admin-theme .admin-open-question-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.admin-theme .admin-open-question-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.admin-theme .admin-open-question-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 38px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    background: #111827 !important;
    color: #f8fafc !important;
    padding: 8px 10px;
}

body.admin-theme .admin-open-question-btn {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #1f2937;
    color: #f8fafc;
    font-size: 0.95rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 28px;
}

body.admin-theme .admin-open-question-btn-add:hover {
    background: #1e40af;
}

body.admin-theme .admin-open-question-btn-del {
    border-color: rgba(248, 113, 113, 0.6);
    color: #f87171;
}

body.admin-theme .admin-open-question-btn-del:hover {
    background: rgba(127, 29, 29, 0.45);
}

body.admin-theme .admin-sim-card .contentButton {
    margin-top: auto;
    align-self: flex-start;
}

body.admin-theme .admin-sim-card .contentButton.is-disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

body.admin-theme #runQualSimBtn,
body.admin-theme #runQuantSimBtn {
    width: auto;
    min-width: 145px;
    white-space: nowrap;
}

body.admin-theme .admin-sim-model-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.admin-theme .admin-sim-model-fixed {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    font-size: 0.95rem;
}

body.admin-theme .admin-sim-actions-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
}

body.admin-theme .admin-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: #e5e7eb;
    white-space: nowrap;
}

body.admin-theme .admin-inline-check input[type="checkbox"] {
    width: auto;
    margin: 0;
}

body.admin-theme .admin-quant-settings {
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    padding: 10px;
    background: rgba(15, 23, 42, 0.72);
}

body.admin-theme .admin-quant-settings h4 {
    margin: 0 0 8px;
    font-size: 0.86rem;
}

body.admin-theme .admin-quant-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 8px;
}

body.admin-theme .admin-quant-settings-grid > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.admin-theme .admin-quant-overrides {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 8px;
}

body.admin-theme .admin-quant-override-card {
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    padding: 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    background: rgba(17, 24, 39, 0.9);
}

body.admin-theme .admin-quant-override-card strong {
    grid-column: 1 / -1;
    font-size: 0.78rem;
}

body.admin-theme .admin-quant-override-card label {
    font-size: 0.74rem;
    color: #cbd5e1;
}

body.admin-theme .admin-sim-status {
    margin-top: 10px;
    width: 100%;
    padding: 8px 10px;
    background: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.35);
}

body.admin-theme .admin-sim-status-wrap {
    width: 100%;
    min-height: 70px;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    gap: 10px;
}

body.admin-theme .admin-sim-status-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

body.admin-theme #adminSimDownloadBtn[hidden],
body.admin-theme #adminCancelSimBtn[hidden] {
    display: none;
}

body.admin-theme #adminSimDownloadBtn {
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px;
    white-space: nowrap;
}

body.admin-theme #adminSimDownloadBtn .material-symbols-outlined {
    font-size: 18px;
    line-height: 1;
}

body.admin-theme #adminSimSpinner {
    width: 28px;
    height: 28px;
    border-width: 5px;
    margin-right: 0;
}

body.admin-theme .admin-sim-status-text-wrap {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

body.admin-theme #adminSimStatusText {
    font-size: 0.9rem;
    color: #f8fafc;
}

body.admin-theme #adminSimPhaseText {
    font-size: 0.78rem;
    color: #cbd5e1;
}

body.admin-theme #adminSimDetailText {
    font-size: 0.72rem;
    color: #94a3b8;
    line-height: 1.2;
    min-height: 0.9rem;
}

body.admin-theme .admin-sim-progress-track {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.25);
    overflow: hidden;
}

body.admin-theme .admin-sim-progress-fill {
    width: 0%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #38bdf8, #22c55e);
    transition: width 0.2s ease;
}

body.admin-theme .admin-ip-link {
    color: #93c5fd;
    text-decoration: underline;
}

body.admin-theme .admin-ip-link:hover {
    color: #bfdbfe;
}

body.admin-theme .admin-ip-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 999px;
    border: 1px solid rgba(147, 197, 253, 0.45);
    background: rgba(30, 58, 138, 0.35);
    color: #bfdbfe;
    font-size: 0.68rem;
    line-height: 1.2;
    vertical-align: middle;
}

body.admin-theme .admin-risk-score {
    cursor: help;
    display: inline-flex;
    align-items: center;
}

body.admin-theme select option {
    background: #111827;
    color: #f8fafc;
}

@media (max-width: 1100px) {
    body.admin-theme .admin-chart-card {
        height: 360px;
        min-height: 360px;
    }
}
.rx-progress-row {
  width: 100%;
  padding: 0 12px;
  box-sizing: border-box;
  line-height: 0;
}

#rxUnifiedForm #chat-container_outer {
  margin-bottom: 5px;
}

#rxUnifiedForm #chat-control-container {
  margin-top: 5px;
}

#rxProgressTrack {
  width: 100%;
  height: 5px;
  border-radius: 999px;
  background: #d9e4f4;
  overflow: hidden;
  cursor: default;
}

#rxProgressFill {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: #2d6fbe;
  transition: width 180ms ease;
}

body.trial-experience-page,
body.trial-welcome-page {
  background: #f3f6fb;
}

.trial-main {
  width: 100%;
}

.trial-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-sizing: border-box;
}

.trial-hero-band,
.trial-welcome-banner,
.trial-section {
  background: #ffffff;
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.trial-hero-band {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.95fr);
  gap: 24px;
  padding: 28px;
  align-items: stretch;
}

.trial-hero-copy,
.trial-welcome-banner-copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.trial-eyebrow,
.trial-section-kicker,
.trial-proof-card-topline,
.trial-status-label {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  font-weight: 700;
  color: #496a92;
}

.trial-hero-title,
.trial-section-title {
  margin: 0;
  font-size: clamp(1.9rem, 4vw, 2.6rem);
  line-height: 1.08;
  color: #12233d;
}

.trial-section-title {
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
}

.trial-hero-subhead,
.trial-section-copy,
.trial-workspace-copy,
.trial-proof-card-copy,
.trial-feature-copy,
.trial-status-copy,
.trial-story-step-copy,
.trial-proof-footer {
  margin: 0;
  color: #41556f;
  line-height: 1.55;
  font-size: 0.98rem;
}

.trial-hero-metrics,
.trial-status-grid,
.trial-workspace-grid,
.trial-proof-grid,
.trial-feature-grid,
.trial-story-grid,
.trial-activation-grid {
  display: grid;
  gap: 16px;
}

.trial-hero-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trial-hero-metric,
.trial-status-card,
.trial-workspace-card,
.trial-feature-card,
.trial-proof-card,
.trial-activation-card,
.trial-story-step,
.trial-aside-card {
  border: 1px solid #d9e3f0;
  border-radius: 8px;
  background: #f9fbff;
}

.trial-hero-metric {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.trial-hero-metric-value,
.trial-status-value {
  font-size: 1.6rem;
  font-weight: 700;
  color: #123e7a;
}

.trial-hero-metric-label {
  color: #49617d;
  font-size: 0.88rem;
}

.trial-hero-actions,
.trial-cta-actions,
.trial-welcome-banner-actions,
.trial-activation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.trial-inline-error {
  color: #a02424;
  min-height: 1.1rem;
}

.trial-hero-aside {
  min-width: 0;
}

.trial-aside-card {
  height: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: linear-gradient(180deg, #f6f9ff 0%, #eef4fb 100%);
}

.trial-aside-title,
.trial-workspace-title,
.trial-feature-title,
.trial-proof-card-title,
.trial-story-step-title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
  color: #12233d;
}

.trial-aside-list,
.trial-proof-file-list {
  margin: 0;
  padding-left: 18px;
  color: #41556f;
  line-height: 1.5;
}

.trial-section {
  padding: 24px;
}

.trial-section-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
}

.trial-proof-grid,
.trial-activation-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trial-proof-card,
.trial-activation-card {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.trial-proof-columns,
.trial-activation-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.trial-proof-column-title {
  margin: 0 0 8px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #24456e;
}

.trial-feature-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trial-feature-card {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.trial-feature-visual {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  border: 1px solid #d7e1ef;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.trial-feature-visual img {
  width: 72%;
  height: auto;
  object-fit: contain;
}

.trial-story-band {
  background: #f7faff;
}

.trial-story-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trial-story-step {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trial-story-step-number {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #123e7a;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
}

.trial-cta-band {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.trial-cta-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trial-welcome-banner {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.trial-success-banner {
  border: 1px solid #c7e0c8;
  background: #edf8ed;
  color: #1f5b2b;
  border-radius: 8px;
  padding: 12px 14px;
  font-weight: 600;
}

.trial-status-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trial-status-card,
.trial-workspace-card {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.trial-workspace-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trial-activation-card .trial-activation-actions {
  margin-top: auto;
}

body.trial-experience-page .contentButtonMain,
body.trial-welcome-page .contentButtonMain,
body.trial-experience-page .contentButton,
body.trial-welcome-page .contentButton {
  white-space: normal;
}

@media (max-width: 1100px) {
  .trial-feature-grid,
  .trial-story-grid,
  .trial-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .trial-hero-band,
  .trial-cta-band,
  .trial-proof-grid,
  .trial-activation-grid,
  .trial-proof-columns,
  .trial-activation-lists,
  .trial-workspace-grid {
    grid-template-columns: 1fr;
  }

  .trial-hero-band,
  .trial-cta-band {
    display: grid;
  }
}

@media (max-width: 700px) {
  .trial-shell {
    width: min(100%, calc(100% - 20px));
    padding: 20px 0 32px;
    gap: 18px;
  }

  .trial-hero-band,
  .trial-section,
  .trial-welcome-banner {
    padding: 18px;
  }

  .trial-hero-metrics,
  .trial-feature-grid,
  .trial-story-grid,
  .trial-status-grid {
    grid-template-columns: 1fr;
  }
}

body.trial-experience-page {
  overflow-x: hidden;
}

body.trial-experience-page .trial-main {
  align-items: stretch;
  padding-top: 6px;
  padding-bottom: 0;
  min-height: calc(100vh - var(--ux-fixed-header-offset));
}

body.trial-experience-page .trial-shell {
  width: min(1220px, calc(100% - 24px));
  padding: 6px 0 0;
  gap: 0;
}

.trial-storyboard {
  --trial-storyboard-height: 656.66px;
  width: 100%;
  background: linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%);
  border: 1px solid #d5dfec;
  border-radius: 8px;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  height: var(--trial-storyboard-height);
  min-height: var(--trial-storyboard-height);
  max-height: var(--trial-storyboard-height);
  overflow: hidden;
}

.trial-storyboard__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding: 16px 22px 8px;
  border-bottom: 1px solid #d9e3f0;
  background: transparent;
}

.trial-storyboard__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.trial-storyboard__title {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  line-height: 1.08;
  color: #12233d;
}

.trial-storyboard__intro {
  margin: 0;
  max-width: 760px;
  color: #48617d;
  font-size: 0.98rem;
  line-height: 1.55;
}

.trial-storyboard__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 12px;
  flex: 0 0 auto;
}

.trial-storyboard__header-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 0;
}

.trial-storyboard__summary-card {
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  background: #ffffff;
  padding: 14px 12px;
  text-align: center;
}

.trial-storyboard__summary-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #123e7a;
}

.trial-storyboard__summary-label {
  margin-top: 4px;
  font-size: 0.82rem;
  color: #506884;
}

.trial-storyboard__slides {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  padding: 6px 22px 16px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.trial-slide {
  display: none;
  height: 100%;
}

.trial-slide.is-active {
  display: block;
}

.trial-slide__layout {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.85fr);
  gap: 18px;
  align-items: stretch;
}

.trial-slide__layout--hero,
.trial-slide__layout--cta {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.9fr);
}

.trial-slide__layout--hero {
  gap: 14px;
}

.trial-slide__layout--workspace-full {
  grid-template-columns: 1fr;
}

.trial-slide__layout--workspace-full .trial-slide__copy {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 12px;
  gap: 6px;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  align-content: stretch;
  overflow: hidden;
}

.trial-slide__layout--workspace-full .trial-slide__copy > * {
  min-width: 0;
}

.trial-slide__layout--hero .trial-slide__copy {
  padding: 16px;
  gap: 10px;
}

.trial-slide__copy--welcome {
  gap: 8px;
}

.trial-workspace-onboarding {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: min(1095px, 100%);
  margin-top: 2px;
  margin-left: auto;
  margin-right: auto;
}

.trial-slide__copy,
.trial-slide__panel {
  min-width: 0;
}

.trial-slide__copy {
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  background: #ffffff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trial-slide__panel {
  display: flex;
}

.trial-slide__panel--stack {
  flex-direction: column;
  gap: 14px;
}

.trial-slide__panel--asset-only {
  align-items: stretch;
}

.trial-slide__layout--hero .trial-slide__panel--asset-only {
  align-items: center;
}

.trial-slide__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  font-weight: 700;
  color: #496a92;
}

.trial-slide__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.8vw, 2.15rem);
  line-height: 1.08;
  color: #12233d;
}

.trial-slide__layout--hero .trial-slide__title {
  font-size: clamp(1.38rem, 2.4vw, 1.95rem);
}

.trial-slide__body {
  margin: 0;
  color: #41556f;
  line-height: 1.5;
  font-size: 0.96rem;
  max-width: 780px;
}

.trial-slide__layout--hero .trial-slide__body {
  line-height: 1.42;
}

.trial-slide__note {
  margin: 4px 0 0;
  color: #607188;
  line-height: 1.35;
  font-size: 0.72rem;
  max-width: 840px;
}

.trial-slide__bullet-list,
.trial-mini-panel__stack,
.trial-activation-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.trial-slide__layout--hero .trial-slide__bullet-list {
  gap: 8px;
}

.trial-slide__bullet,
.trial-mini-panel__item,
.trial-activation-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border: 1px solid #dde6f2;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px 12px;
}

.trial-slide__bullet .material-symbols-outlined,
.trial-mini-panel__item .material-symbols-outlined,
.trial-example-card__callout .material-symbols-outlined {
  color: #244f87;
}

.trial-slide__layout--hero .trial-slide__bullet {
  gap: 8px;
  padding: 8px 10px;
  font-size: 1.08rem;
  line-height: 1.45;
}

.trial-mini-panel,
.trial-example-card,
.trial-cta-panel {
  width: 100%;
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.trial-asset-placeholder {
  width: 100%;
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.trial-asset-placeholder__type {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  font-weight: 700;
  color: #496a92;
}

.trial-asset-placeholder__frame {
  width: min(100%, 220px);
  aspect-ratio: 5 / 4;
  border: 1px dashed #c8d6e8;
  border-radius: 8px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trial-asset-placeholder__frame .material-symbols-outlined {
  font-size: 2.4rem;
  color: #8aa1bd;
}

.trial-asset-placeholder__title {
  color: #15304f;
  font-size: 0.98rem;
  font-weight: 700;
}

.trial-asset-placeholder__description,
.trial-asset-placeholder__caption {
  margin: 0;
  color: #5b7088;
  font-size: 0.9rem;
  line-height: 1.5;
}

.trial-asset-placeholder__caption {
  color: #48617c;
}

.trial-welcome-media-panel {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 3px;
}

.trial-slide__layout--hero .trial-welcome-media-panel {
  width: 100%;
  height: 100%;
  margin: auto;
}

.trial-welcome-media-panel__title {
  color: #36597f;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.trial-welcome-media-list {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: minmax(0, 1fr);
  gap: 3px;
}

.trial-welcome-media-slot {
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  padding: 2px 3px;
  display: grid;
  gap: 4px;
  min-height: 0;
}

.trial-welcome-media-slot--video {
  grid-template-columns: minmax(0, 1fr) 48px;
  align-items: center;
}

.trial-welcome-media-slot--placeholder {
  grid-template-rows: auto minmax(0, 1fr);
}

.trial-welcome-media-slot__meta {
  min-width: 0;
  display: flex;
  align-self: stretch;
  align-items: center;
  position: relative;
}

.trial-welcome-media-slot__label {
  display: flex;
  align-self: stretch;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding-left: 1px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.46rem;
  font-weight: 700;
  color: #496a92;
  line-height: 1.18;
}

.trial-welcome-video-shell,
.trial-welcome-media-placeholder-frame {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 8px;
  background: #eef4fb;
  overflow: hidden;
}

.trial-welcome-video-shell {
  aspect-ratio: 1 / 1;
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}

.trial-welcome-video {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: transparent;
  object-fit: contain;
}

.trial-welcome-video-timeline-shell {
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 1px;
  padding-top: 3px;
  background: linear-gradient(180deg, rgba(17, 30, 46, 0) 0%, rgba(17, 30, 46, 0.28) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.16s ease;
}

.trial-welcome-video-timeline {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  pointer-events: auto;
  cursor: pointer;
}

.trial-welcome-video-timeline::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
}

.trial-welcome-video-timeline::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 10px;
  height: 10px;
  margin-top: -3px;
  border: 0;
  border-radius: 999px;
  background: #0f458d;
}

.trial-welcome-video-timeline::-moz-range-track {
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
}

.trial-welcome-video-timeline::-moz-range-thumb {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: #0f458d;
}

.trial-welcome-video-controls {
  display: flex;
  justify-content: flex-start;
  gap: 0;
  position: absolute;
  left: 1px;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.16s ease;
}

.trial-welcome-media-slot--video.is-hovering .trial-welcome-video-controls,
.trial-welcome-media-slot--video.is-hovering .trial-welcome-video-timeline-shell {
  opacity: 1;
}

.trial-welcome-media-slot--video.is-hovering .trial-welcome-video-controls {
  pointer-events: auto;
}

.trial-welcome-video-control {
  width: 16px;
  height: 16px;
  border: 1px solid #d6e0ec;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: #244f87;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.trial-welcome-video-control:hover,
.trial-welcome-video-control:focus-visible {
  background: #f2f7ff;
  border-color: #bfd1e7;
  color: #123e7a;
}

.trial-welcome-video-control .material-symbols-outlined {
  font-size: 0.62rem;
  line-height: 1;
  color: inherit;
  font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 20;
}

.trial-welcome-media-placeholder-frame {
  display: flex;
  align-items: center;
  justify-content: center;
}

.trial-welcome-media-placeholder-frame .material-symbols-outlined {
  font-size: 2rem;
  color: #8aa1bd;
}

.trial-mini-panel__title,
.trial-example-card__title,
.trial-cta-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #12233d;
}

.trial-mini-panel__copy,
.trial-example-card__copy,
.trial-cta-panel__copy,
.trial-example-card__footnote,
.trial-cta-panel__trust {
  margin: 0;
  color: #48617c;
  line-height: 1.55;
  font-size: 0.95rem;
}

.trial-mini-panel__item div,
.trial-activation-step div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.trial-mini-panel__item strong,
.trial-activation-step strong {
  color: #15304f;
  font-size: 0.94rem;
}

.trial-mini-panel__item span:last-child,
.trial-activation-step span:last-child {
  color: #5b7088;
  font-size: 0.9rem;
  line-height: 1.45;
}

.trial-pipeline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.trial-study-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.trial-study-card {
  border: 1px solid #d8e2ef;
  border-radius: 8px;
  background: #f9fbff;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.trial-study-card__label {
  color: #496a92;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.trial-study-card__title {
  color: #15304f;
  font-size: 1rem;
  font-weight: 700;
}

.trial-study-card__copy {
  margin: 0;
  color: #566f88;
  font-size: 0.84rem;
  line-height: 1.35;
}

.trial-study-card__actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: auto;
  align-items: center;
}

.trial-study-card__actions > .contentChip--download,
.trial-slide__actions > .contentChip--download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  border: 1px solid #c9d9eb;
  background: #ffffff;
  color: #244f87;
  box-shadow: none;
}

.trial-study-card__actions > .contentChip--download-main,
.trial-slide__actions > .contentChip--download-main {
  background: #244f87;
  border-color: #244f87;
  color: #ffffff;
}

.trial-slide__download-row {
  display: flex;
  justify-content: center;
  align-items: center;
}

.trial-slide__download-row > .contentChip--download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  border: 1px solid #c9d9eb;
  background: #ffffff;
  color: #244f87;
  box-shadow: none;
}

.trial-slide__download-row > .contentChip--download-main {
  background: #244f87;
  border-color: #244f87;
  color: #ffffff;
}

.trial-slide__download-row--welcome {
  margin-top: 2px;
  flex: 1 1 auto;
  min-height: 0;
}

.trial-welcome-value-props {
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
}

.trial-welcome-value-props__title {
  color: #15304f;
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1.2;
}

.trial-welcome-value-props__list {
  display: grid;
  min-height: 56px;
  place-items: center;
}

.trial-welcome-value-props__item {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: auto minmax(0, auto);
  gap: 10px;
  align-items: center;
  justify-content: center;
  justify-self: center;
  max-width: 100%;
  color: #546b84;
  font-size: 2.1rem;
  line-height: 1.34;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateX(18px);
  transition: opacity 0.34s ease, transform 0.34s ease, visibility 0s linear 0.34s;
}

.trial-welcome-value-props__item > span:last-child {
  font-size: 1.68rem;
  line-height: 1.16;
}

.trial-welcome-value-props__item:nth-child(1) > span:last-child,
.trial-welcome-value-props__item:nth-child(4) > span:last-child,
.trial-welcome-value-props__item:nth-child(5) > span:last-child,
.trial-welcome-value-props__item:nth-child(6) > span:last-child {
  display: inline-block;
  white-space: nowrap;
}

.trial-welcome-value-props__item:nth-child(2) > span:last-child {
  font-size: 1.5rem;
}

.trial-welcome-value-props__item:nth-child(4) > span:last-child {
  font-size: 1.525rem;
}

.trial-welcome-value-props__item:nth-child(5) > span:last-child,
.trial-welcome-value-props__item:nth-child(6) > span:last-child {
  font-size: 1.32rem;
}

.trial-welcome-value-props__item.is-active,
.trial-welcome-value-props__item.is-exiting {
  visibility: visible;
  transition-delay: 0s;
}

.trial-welcome-value-props__item.is-active {
  opacity: 1;
  transform: translateX(0);
}

.trial-welcome-value-props__item.is-exiting {
  opacity: 0;
  transform: translateX(-18px);
}

.trial-welcome-value-props__item .material-symbols-outlined {
  color: #1a63c0;
  font-size: 1.16rem;
  margin-top: 0;
}

.trial-slide__download-row--step {
  margin-top: 8px;
}

.trial-slide__download-row--workspace {
  margin-top: 2px;
}

.trial-study-card__note {
  margin: 0;
  color: #48617c;
  font-size: 0.78rem;
  line-height: 1.3;
}

.trial-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.trial-pipeline__step {
  border: 1px solid #d8e2ef;
  border-radius: 8px;
  background: #f9fbff;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trial-pipeline__step .material-symbols-outlined {
  color: #244f87;
}

.trial-pipeline__step strong {
  color: #15304f;
  font-size: 0.96rem;
}

.trial-pipeline__step span:last-child {
  color: #5b7088;
  font-size: 0.9rem;
  line-height: 1.45;
}

.trial-pipeline__arrow {
  align-self: center;
  color: #6782a2;
  font-size: 1.4rem;
  font-weight: 700;
}

.trial-example-card__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.trial-example-card__stat {
  border: 1px solid #dde6f2;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.trial-example-card__stat-value {
  font-size: 1.35rem;
  font-weight: 700;
  color: #123e7a;
}

.trial-example-card__stat-label {
  color: #5a728c;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.trial-example-card__callout {
  border: 1px solid #dce7f3;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #48617c;
  font-size: 0.94rem;
  line-height: 1.5;
}

.trial-tools-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.trial-tool-card {
  border: 1px solid #d9e3f0;
  border-radius: 8px;
  background: #f9fbff;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.trial-tool-card__visual {
  width: 100%;
  aspect-ratio: 16 / 5;
  border: 1px solid #d9e3f0;
  border-radius: 8px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.trial-tool-card__visual img {
  width: 46%;
  height: auto;
  object-fit: contain;
}

.trial-tool-card__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.trial-tool-card__title {
  color: #15304f;
  font-size: 0.94rem;
  font-weight: 700;
}

.trial-tool-card__copy {
  margin: 0;
  color: #57708a;
  font-size: 0.82rem;
  line-height: 1.3;
}

.trial-tools-grid--workspace {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  width: min(1010px, 100%);
  margin: 0 auto;
}

.trial-slide__layout--workspace-full .trial-tools-grid--workspace {
  height: 100%;
  min-height: 0;
  align-self: stretch;
}

.trial-workspace-flip-card {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 0.88;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  perspective: 1200px;
  text-align: left;
}

.trial-slide__layout--workspace-full .trial-workspace-flip-card {
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
}

.trial-workspace-flip-card:focus-visible {
  outline: 2px solid #0f458d;
  outline-offset: 2px;
}

.trial-workspace-flip-card__inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  transform-style: preserve-3d;
  transition: transform 0.45s ease;
}

.trial-workspace-flip-card.is-flipped .trial-workspace-flip-card__inner {
  transform: rotateY(180deg);
}

.trial-workspace-flip-card__face {
  position: absolute;
  inset: 0;
  border: 1px solid #d9e3f0;
  border-radius: 8px;
  background: #f9fbff;
  padding: 4px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}

.trial-workspace-flip-card__face--front {
  align-items: center;
  justify-content: flex-end;
  text-align: center;
  background: #ffffff;
}

.trial-workspace-flip-card__face--back {
  transform: rotateY(180deg);
  justify-content: center;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}

.trial-workspace-flip-card__visual {
  width: 100%;
  flex: 1 1 auto;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 8px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.trial-workspace-flip-card__visual img {
  width: 92%;
  height: auto;
  object-fit: contain;
}

.trial-workspace-flip-card__title,
.trial-workspace-flip-card__back-title {
  color: #15304f;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.12;
}

.trial-workspace-flip-card__back-title {
  margin: 0;
  font-size: 0.88rem;
}

.trial-workspace-flip-card__back-copy {
  color: #57708a;
  font-size: 0.76rem;
  line-height: 1.18;
}

.trial-activation-steps--compact {
  gap: 8px;
}

.trial-activation-steps--compact .trial-activation-step {
  padding: 9px 12px;
}

.trial-activation-steps--compact .trial-activation-step strong {
  font-size: 0.9rem;
}

.trial-activation-steps--compact .trial-activation-step span:last-child {
  font-size: 0.86rem;
  line-height: 1.35;
}

.trial-activation-step__number {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #123e7a;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.88rem;
  font-weight: 700;
}

.trial-cta-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.trial-cta-panel__actions > .contentButtonMain,
.trial-cta-panel__actions > .contentButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.trial-workspace-onboarding .trial-cta-panel {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title action"
    "checklist action"
    "utilities action"
    "error action";
  column-gap: 18px;
  row-gap: 3px;
  padding: 8px 10px;
  gap: 3px;
}

.trial-workspace-onboarding .trial-cta-panel__title {
  grid-area: title;
  font-size: 1.24rem;
}

.trial-workspace-onboarding .trial-cta-panel__copy,
.trial-workspace-onboarding .trial-cta-panel__trust {
  line-height: 1.45;
  font-size: 1.02rem;
}

.trial-cta-panel__checklist {
  display: flex;
  flex-direction: column;
  gap: 4px;
  grid-area: checklist;
}

.trial-cta-panel__checklist-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #48617c;
  font-size: 1.06rem;
  line-height: 1.42;
}

.trial-cta-panel__checklist-item .material-symbols-outlined {
  color: #1a63c0;
  font-size: 1.14rem;
  margin-top: 1px;
}

.trial-cta-panel__checklist-item--emphasis {
  font-weight: 700;
  color: #15304f;
}

.trial-cta-panel__utilities {
  grid-area: utilities;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: center;
  margin-top: 10px;
}

.trial-utility-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #48617c;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.trial-utility-link:hover,
.trial-utility-link:focus-visible {
  color: #0f458d;
}

.trial-utility-link .material-symbols-outlined {
  font-size: 1.14rem;
  color: currentColor;
}

.trial-workspace-onboarding .trial-cta-panel__actions {
  grid-area: action;
  margin-left: auto;
  gap: 0;
  flex-wrap: nowrap;
  align-items: center;
  align-self: center;
  justify-self: end;
}

.trial-workspace-onboarding .trial-cta-panel__action-primary {
  min-width: 250px;
  min-height: 44px;
  padding: 0 34px;
  border-radius: 999px;
  border: 1px solid #0f458d;
  background: linear-gradient(180deg, #1a63c0 0%, #0f458d 100%);
  box-shadow: 0 14px 28px rgba(15, 69, 141, 0.26);
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1;
  white-space: nowrap;
}

.trial-workspace-onboarding .trial-cta-panel__action-primary:hover,
.trial-workspace-onboarding .trial-cta-panel__action-primary:focus-visible {
  background: linear-gradient(180deg, #2a6ec7 0%, #15509a 100%);
  box-shadow: 0 16px 30px rgba(15, 69, 141, 0.3);
}

.trial-storyboard__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: 0 0 auto;
  min-width: 0;
  justify-content: flex-end;
}

.trial-storyboard__step {
  border: 1px solid #d5dfec;
  border-radius: 999px;
  background: #ffffff;
  color: #425b77;
  padding: 8px 14px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}

.trial-storyboard__step.is-active {
  background: #123e7a;
  border-color: #123e7a;
  color: #ffffff;
}

.trial-storyboard__step--emphasis {
  border-color: #86abd8;
  background: #f2f7ff;
  color: #123e7a;
  box-shadow: inset 0 0 0 1px rgba(18, 62, 122, 0.06);
}

.trial-storyboard__step--emphasis.is-active {
  background: #0f458d;
  border-color: #0f458d;
  color: #ffffff;
}

body.trial-experience-page .trial-inline-error {
  min-height: 0;
}

body.trial-experience-page #trialExperienceError:empty {
  display: none;
}

body.trial-experience-page #trialExperienceError {
  grid-area: error;
}

@media (max-height: 920px) {
  .trial-storyboard {
    --trial-storyboard-height: 626px;
  }

  .trial-storyboard__header {
    gap: 14px;
    padding: 12px 20px 6px;
  }

  .trial-storyboard__heading {
    gap: 6px;
  }

  .trial-storyboard__title {
    font-size: clamp(1.45rem, 2.6vw, 1.95rem);
  }

  .trial-storyboard__intro {
    font-size: 0.92rem;
    line-height: 1.42;
  }

  .trial-storyboard__slides {
    padding: 4px 20px 10px;
  }

  .trial-storyboard__header-side {
    gap: 10px;
  }

  .trial-storyboard__step {
    padding: 7px 12px;
    font-size: 0.84rem;
  }

  .trial-slide__layout--hero {
    gap: 10px;
  }

  .trial-slide__layout--hero .trial-slide__copy,
  .trial-slide__layout--workspace-full .trial-slide__copy {
    padding: 14px;
  }

  .trial-slide__copy--welcome {
    gap: 6px;
  }

  .trial-slide__layout--hero .trial-slide__copy {
    gap: 8px;
  }

  .trial-slide__layout--hero .trial-slide__title {
    font-size: clamp(1.24rem, 2.15vw, 1.72rem);
  }

  .trial-slide__layout--hero .trial-slide__body {
    font-size: 0.92rem;
    line-height: 1.35;
  }

  .trial-slide__layout--hero .trial-slide__bullet-list {
    gap: 6px;
  }

  .trial-slide__layout--hero .trial-slide__bullet {
    padding: 7px 9px;
    gap: 7px;
  }

  .trial-welcome-value-props {
    padding: 7px 9px;
    gap: 5px;
  }

  .trial-welcome-value-props__list {
    min-height: 52px;
  }

  .trial-welcome-value-props__item {
    gap: 9px;
    font-size: 1.92rem;
    line-height: 1.3;
  }

  .trial-welcome-value-props__item > span:last-child {
    font-size: 1.54rem;
    line-height: 1.14;
  }

  .trial-welcome-value-props__item:nth-child(2) > span:last-child {
    font-size: 1.38rem;
  }

  .trial-welcome-value-props__item:nth-child(4) > span:last-child {
    font-size: 1.35rem;
  }

  .trial-welcome-value-props__item:nth-child(5) > span:last-child,
  .trial-welcome-value-props__item:nth-child(6) > span:last-child {
    font-size: 1.18rem;
  }

  .trial-slide__layout--hero .trial-welcome-media-panel {
    width: 100%;
    height: 100%;
    gap: 3px;
  }

  .trial-welcome-media-panel__title {
    font-size: 0.52rem;
  }

  .trial-welcome-media-list {
    gap: 3px;
  }

  .trial-welcome-media-slot {
    padding: 2px 3px;
    gap: 4px;
  }

  .trial-welcome-media-slot--video {
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  .trial-welcome-media-slot__meta {
    align-self: stretch;
  }

  .trial-welcome-media-slot__label {
    font-size: 0.44rem;
  }

  .trial-workspace-onboarding {
    gap: 6px;
    margin-top: 4px;
  }

  .trial-tools-grid--workspace {
    width: min(980px, 100%);
    gap: 6px;
  }

  .trial-workspace-onboarding .trial-cta-panel {
    column-gap: 18px;
    row-gap: 4px;
    padding: 10px;
  }
}

@media (max-height: 820px) {
  .trial-storyboard {
    --trial-storyboard-height: 572px;
  }

  .trial-storyboard__header {
    gap: 10px;
    padding: 10px 18px 6px;
  }

  .trial-storyboard__slides {
    padding: 2px 18px 8px;
  }

  .trial-storyboard__header-side {
    gap: 8px;
  }

  .trial-storyboard__steps {
    justify-content: flex-end;
    gap: 8px;
  }

  .trial-storyboard__step {
    padding: 6px 11px;
    font-size: 0.8rem;
  }

  .trial-slide__layout--hero {
    gap: 8px;
  }

  .trial-slide__layout--hero .trial-slide__copy,
  .trial-slide__layout--workspace-full .trial-slide__copy {
    padding: 12px;
  }

  .trial-slide__copy--welcome {
    gap: 5px;
  }

  .trial-slide__layout--hero .trial-slide__title {
    font-size: clamp(1.16rem, 1.95vw, 1.58rem);
  }

  .trial-slide__layout--hero .trial-slide__body {
    font-size: 0.89rem;
    line-height: 1.3;
  }

  .trial-slide__layout--hero .trial-welcome-media-panel {
    width: 100%;
    height: 100%;
    gap: 3px;
  }

  .trial-welcome-value-props {
    padding: 6px 8px;
    gap: 4px;
  }

  .trial-welcome-value-props__title {
    font-size: 1.04rem;
  }

  .trial-welcome-value-props__list {
    min-height: 48px;
  }

  .trial-welcome-value-props__item {
    gap: 8px;
    font-size: 1.8rem;
    line-height: 1.24;
  }

  .trial-welcome-value-props__item > span:last-child {
    font-size: 1.42rem;
    line-height: 1.12;
  }

  .trial-welcome-value-props__item:nth-child(2) > span:last-child {
    font-size: 1.28rem;
  }

  .trial-welcome-value-props__item:nth-child(4) > span:last-child {
    font-size: 1.225rem;
  }

  .trial-welcome-value-props__item:nth-child(5) > span:last-child,
  .trial-welcome-value-props__item:nth-child(6) > span:last-child {
    font-size: 1.08rem;
  }

  .trial-welcome-value-props__item .material-symbols-outlined {
    font-size: 1.02rem;
  }

  .trial-welcome-media-slot {
    padding: 2px 3px;
    gap: 4px;
  }

  .trial-welcome-media-panel__title {
    font-size: 0.48rem;
  }

  .trial-welcome-media-slot--video {
    grid-template-columns: minmax(0, 1fr) 40px;
  }

  .trial-welcome-media-slot__meta {
    align-self: stretch;
  }

  .trial-welcome-media-slot__label {
    font-size: 0.4rem;
    gap: 3px;
  }

  .trial-welcome-video-controls {
    gap: 0;
  }

  .trial-welcome-video-control {
    width: 16px;
    height: 16px;
  }

  .trial-welcome-video-control .material-symbols-outlined {
    font-size: 0.62rem;
  }

  .trial-tools-grid--workspace {
    width: min(900px, 100%);
    gap: 5px;
  }

  .trial-workspace-onboarding .trial-cta-panel {
    padding: 9px;
  }
}

@media (max-width: 1100px) {
  .trial-storyboard {
    min-height: 0;
  }

  .trial-storyboard__header,
  .trial-slide__layout,
  .trial-slide__layout--hero,
  .trial-slide__layout--cta {
    grid-template-columns: 1fr;
    display: grid;
  }

  .trial-storyboard__header {
    gap: 16px;
  }

  .trial-storyboard__header-side {
    align-items: flex-end;
  }

  .trial-storyboard__summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trial-pipeline,
  .trial-study-grid {
    grid-template-columns: 1fr;
  }

  .trial-pipeline__arrow {
    display: none;
  }

}

@media (max-width: 820px) {
  .trial-study-card__actions {
    flex-wrap: wrap;
  }

  body.trial-experience-page .trial-shell {
    width: min(100%, calc(100% - 16px));
    padding: 4px 0 0;
  }

  .trial-storyboard__header,
  .trial-storyboard__slides,
  .trial-slide__copy,
  .trial-mini-panel,
  .trial-example-card,
  .trial-cta-panel {
    padding-left: 16px;
    padding-right: 16px;
  }

  .trial-storyboard__header,
  .trial-storyboard__slides {
    padding-top: 10px;
    padding-bottom: 16px;
  }

  .trial-storyboard__summary,
  .trial-tools-grid {
    grid-template-columns: 1fr;
  }

  .trial-tools-grid--workspace {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(520px, 100%);
    gap: 8px;
  }

  .trial-workspace-onboarding .trial-cta-panel__actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
    justify-self: stretch;
    align-self: stretch;
  }

  .trial-workspace-onboarding .trial-cta-panel {
    display: flex;
    flex-direction: column;
  }

  .trial-cta-panel__utilities {
    justify-content: flex-start;
  }

  .trial-workspace-onboarding .trial-cta-panel__actions > .contentButtonMain {
    width: 100%;
  }

  .trial-storyboard__header-side {
    align-items: flex-end;
    gap: 10px;
  }

  .trial-storyboard__steps {
    justify-content: flex-end;
  }
}

@media (max-height: 920px) {
  body.trial-experience-page .trial-shell {
    padding-top: 4px;
  }
}

@media (max-width: 820px) and (max-height: 920px) {
  .trial-storyboard__header,
  .trial-storyboard__slides,
  .trial-slide__copy,
  .trial-mini-panel,
  .trial-example-card,
  .trial-cta-panel {
    padding-left: 14px;
    padding-right: 14px;
  }

  .trial-storyboard__header,
  .trial-storyboard__slides {
    padding-top: 8px;
    padding-bottom: 10px;
  }

  .trial-storyboard__steps {
    justify-content: flex-end;
    gap: 8px;
  }

  .trial-storyboard__step {
    padding: 6px 10px;
    font-size: 0.8rem;
  }
}
