/* CKN Works readability: scale rem-based text and controls together. */
html {
    font-size: 112.5%;
}

/* Keep document print sizing unchanged. */
@media print {
    html {
        font-size: 100%;
    }
}

[data-test="organization-order-row"][draggable="true"] {
    cursor: grab;
}
[data-test="organization-order-row"][draggable="true"]:active {
    cursor: grabbing;
}

/* Keep all customer detail sections visible on narrow screens. */
.customer-view-tabs [role="tablist"] {
    flex-wrap: wrap;
}

/* Language selection belongs to this app; shared themes stay in sync. */
.works-language-switcher { margin-left: auto; flex-shrink: 0; width: 10rem; }
.works-language-auth { position: absolute; top: 1rem; right: 1rem; }
.ckn-header { gap: .75rem; }
.ckn-header-title { min-width: 0; }
@media (max-width: 480px) { .works-language-switcher { width: 8rem; } }
@media print { .works-language-switcher { display: none !important; } }

.works-assistant-trigger { margin-left: auto; flex-shrink: 0; }
.works-assistant-trigger + .works-language-switcher { margin-left: 0; }
.ckn-header-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media print { .works-assistant-trigger { display: none !important; } }
/* A drawer mounted in the sticky header must escape the header's lower stacking level. */
.ckn-header:has(.works-assistant-trigger [data-part="panel"][aria-modal="true"]:not([aria-hidden="true"])) { z-index: 80; }

/* Keep the chat composer visible while the conversation scrolls independently. */
.works-assistant-chat-log { max-height: min(38dvh, 26rem); overflow-y: auto; overscroll-behavior: contain; }
.works-assistant-chat-log > * { flex-shrink: 0; }
.works-assistant-chat-message[data-role="user"] { margin-left: 1rem; background: color-mix(in srgb, currentColor 4%, transparent); }

/* Right-edge chat panel. The native top layer also keeps it usable above open forms. */
.works-assistant-chat-shell dialog[data-part="modal"] {
    position: fixed;
    inset: 0 0 0 auto;
    border-radius: 0;
    margin: 0;
    padding: 0;
    width: min(42rem, 100vw);
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
}
.works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] {
    width: 100%; max-width: none; height: 100%; margin: 0; align-items: stretch;
}
.works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] > [data-part="content"] {
    display: flex; flex-direction: column; height: 100%; min-height: 0; border-radius: 0;
}
.works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] > [data-part="content"] > [data-part="header"] { flex-shrink: 0; }
.works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] > [data-part="content"] > [data-part="body"] {
    display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden;
}
/* Content projection can introduce a wrapper; it must also participate in the bounded flex layout. */
.works-assistant-chat-shell .ckn-modal__body > :has(> .works-assistant-panel-body) { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; overflow: hidden; }
.works-assistant-panel-body { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; min-width: 0; overflow: hidden; }
.works-assistant-panel-body > :not(.works-assistant-chat-log) { flex-shrink: 0; }
.works-assistant-panel-body > .ckn-alert { max-height: 8rem; overflow-y: auto; }
.works-assistant-chat-shell .works-assistant-chat-log {
    flex: 1 1 0; min-height: 0; max-height: none; overflow-y: auto; overflow-x: hidden;
}
.works-assistant-chat-shell dialog[open] { animation: works-assistant-slide-in .16s ease-out; }
@keyframes works-assistant-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .works-assistant-chat-shell dialog[open] { animation: none; } }

/* Conversation-focused Assistant: quiet answers, user bubbles and one integrated composer. */
.works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] > [data-part="content"] > [data-part="header"] {
    gap: .5rem; border-bottom: 0; padding: 1rem 1.25rem .75rem;
}
.works-assistant-chat-shell [data-part="title"] { font-size: 1rem; font-weight: 600; }
.works-assistant-toolbar { margin-left: auto; display: flex; align-items: center; }
.works-assistant-icon-button { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 0; border-radius: .65rem; background: transparent; color: #666; cursor: pointer; }
.works-assistant-icon-button:hover { background: #f3f3f3; color: #222; }
.works-assistant-icon-button:focus-visible, .works-assistant-send:focus-visible { outline: 2px solid #888; outline-offset: 3px; }
.works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] > [data-part="content"] > [data-part="body"] { padding: .5rem .6rem max(.5rem, env(safe-area-inset-bottom)); }
.works-assistant-chat-shell .works-assistant-chat-log { gap: 1.5rem; padding: 1rem 0 1.5rem; scrollbar-width: thin; }
.works-assistant-welcome { display: flex; flex-direction: column; justify-content: center; align-items: center; flex: 1 0 auto; text-align: center; gap: .75rem; padding: 2rem .5rem; }
.works-assistant-spark { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid #e7e7e7; border-radius: 50%; font-size: 1.65rem; color: #222; }
.works-assistant-welcome h2 { margin: .5rem 0 0; font-size: 1.45rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.35; }
.works-assistant-welcome > p { margin: 0; color: #777; font-size: .875rem; line-height: 1.6; }
.works-assistant-suggestions { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: .75rem; }
.works-assistant-suggestions button { border: 1px solid #e4e4e4; border-radius: 999px; padding: .6rem .85rem; background: white; color: #555; font-size: .8rem; line-height: 1.4; cursor: pointer; }
.works-assistant-suggestions button:hover { background: #f7f7f7; border-color: #ccc; }
.works-assistant-chat-message { min-width: 0; padding: 0; border: 0; line-height: 1.65; overflow-wrap: anywhere; }
.works-assistant-chat-message[data-role="user"] { align-self: flex-end; width: fit-content; max-width: 86%; margin: 0 0 0 auto; padding: .75rem 1rem; border-radius: 1.35rem; background: #f3f3f3; color: #222; }
.works-assistant-chat-message[data-role="assistant"] { width: 100%; padding: 0 .25rem; background: transparent; }
.works-assistant-speaker { display: flex; align-items: center; gap: .4rem; margin: 0 0 .65rem; color: #333; font-size: .8rem; font-weight: 600; }
.works-assistant-speaker > span { font-size: 1.1rem; }
.works-assistant-scope { margin: .25rem 0 .65rem; color: #888; font-size: .72rem; }
.works-assistant-sources { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.works-assistant-sources a { display: block; max-width: 100%; border: 1px solid #e9e9e9; border-radius: 999px; background: #fafafa; padding: .2rem .65rem; color: #666; text-decoration: none; font-size: .72rem; overflow-wrap: anywhere; }
.works-assistant-sources a:hover { background: #f0f0f0; color: #222; }
.works-assistant-search-details { margin-top: .65rem; color: #888; font-size: .72rem; }
.works-assistant-search-details summary { cursor: pointer; }
.works-assistant-composer { position: relative; flex-shrink: 0; margin: .5rem 0 0; border: 1px solid #e2e2e2; border-radius: 1.5rem; background: #f7f7f7; box-shadow: 0 2px 8px #00000004; }
.works-assistant-composer:focus-within { border-color: #c4c4c4; box-shadow: 0 0 0 2px #00000004; }
.works-assistant-composer label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.works-assistant-composer [data-part="root"] { margin: 0; }
.works-assistant-chat-shell .works-assistant-composer textarea { display: block; width: 100%; min-height: 5.5rem; max-height: 11rem; margin: 0; padding: .9rem 3.5rem .9rem 1rem; border: 0; border-radius: 1.5rem; background: transparent; box-shadow: none; outline: none; resize: none; font: inherit; line-height: 1.6; }
.works-assistant-chat-shell .works-assistant-composer textarea:focus, .works-assistant-chat-shell .works-assistant-composer textarea:focus-visible { border: 0; outline: none; box-shadow: none; }
.works-assistant-chat-shell .works-assistant-composer textarea::placeholder { color: #929292; }
.works-assistant-chat-shell .works-assistant-send { position: absolute; right: .65rem; bottom: .65rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; padding: 0; border: 0; border-radius: 50%; background: #252525; color: white; cursor: pointer; transition: background .15s; }
.works-assistant-chat-shell .works-assistant-send:hover:not(:disabled) { background: #444; }
.works-assistant-chat-shell .works-assistant-send:disabled { background: #dedede; color: #a6a6a6; cursor: default; }
.works-assistant-footnote { flex-shrink: 0; margin: .65rem .3rem 0; color: #969696; font-size: .65rem; line-height: 1.5; text-align: center; }
@media (max-width: 480px) {
    .works-assistant-chat-shell dialog[data-part="modal"] > [data-part="dialog"] > [data-part="content"] > [data-part="body"] { padding: .5rem .6rem max(.5rem, env(safe-area-inset-bottom)); }
    .works-assistant-welcome h2 { font-size: 1.3rem; }
    .works-assistant-suggestions { flex-direction: column; }
    .works-assistant-chat-message[data-role="user"] { max-width: 90%; }
}

.works-assistant-chat-shell .works-assistant-send svg, .works-assistant-chat-shell .works-assistant-send path { color: inherit; stroke: currentColor; fill: none; }

/* Markdown stays readable inside a narrow chat, including Thai text and wide tables/code. */
.works-assistant-chat-message .ckn-markdown { line-height: 1.75; overflow-wrap: anywhere; min-width: 0; }
.works-assistant-chat-message .ckn-markdown > :first-child { margin-top: 0; }
.works-assistant-chat-message .ckn-markdown > :last-child { margin-bottom: 0; }
.works-assistant-chat-message .ckn-markdown p { margin: .65rem 0; }
.works-assistant-chat-message .ckn-markdown :is(h1,h2,h3,h4,h5,h6) { font-weight: 650; line-height: 1.4; margin: 1.2rem 0 .5rem; }
.works-assistant-chat-message .ckn-markdown h1 { font-size: 1.4rem; }
.works-assistant-chat-message .ckn-markdown h2 { font-size: 1.25rem; }
.works-assistant-chat-message .ckn-markdown :is(h3,h4,h5,h6) { font-size: 1.1rem; }
.works-assistant-chat-message .ckn-markdown :is(ul,ol) { margin: .65rem 0; padding-left: 1.5rem; }
.works-assistant-chat-message .ckn-markdown ul { list-style: disc; }
.works-assistant-chat-message .ckn-markdown ol { list-style: decimal; }
.works-assistant-chat-message .ckn-markdown li { margin: .3rem 0; }
.works-assistant-chat-message .ckn-markdown strong { font-weight: 650; }
.works-assistant-chat-message .ckn-markdown em { font-style: italic; }
.works-assistant-chat-message .ckn-markdown a[href] { color: #1d4ed8; text-decoration: underline; text-underline-offset: .15em; }
.works-assistant-chat-message .ckn-markdown code { font-family: ui-monospace,monospace; font-size: .85em; background: #f1f1f1; border-radius: .3rem; padding: .12rem .3rem; }
.works-assistant-chat-message .ckn-markdown pre { max-width: 100%; overflow-x: auto; margin: .8rem 0; padding: .9rem; border: 1px solid #e5e5e5; border-radius: .7rem; background: #f7f7f7; font-family: ui-monospace,monospace; font-size: .875rem; line-height: 1.6; white-space: pre; overflow-wrap: normal; }
.works-assistant-chat-message .ckn-markdown pre code { padding: 0; background: transparent; font: inherit; }
.works-assistant-chat-message .ckn-markdown blockquote { margin: .8rem 0; padding: .1rem .8rem; border-left: 3px solid #d4d4d4; color: #666; }
.works-assistant-chat-message .ckn-markdown table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: .8rem 0; }
.works-assistant-chat-message .ckn-markdown :is(th,td) { border: 1px solid #ddd; padding: .45rem .7rem; text-align: left; min-width: 6rem; }
.works-assistant-chat-message .ckn-markdown th { background: #f6f6f6; font-weight: 650; }
.works-assistant-chat-message .ckn-markdown hr { margin: 1rem 0; border: 0; border-top: 1px solid #e5e5e5; }

/* File toolbars align buttons with the input edge, excluding the shared field bottom margin. */
[data-test="file-documents-panel"] .items-end [data-part="root"] { margin-bottom: 0; }

.works-assistant-attach { position: absolute; left: .65rem; bottom: .65rem; width: 2.2rem; height: 2.2rem; border: 0; border-radius: 50%; background: #ededed; font-size: 1.4rem; cursor: pointer; }
.works-assistant-chat-shell .works-assistant-composer textarea { padding-bottom: 3.2rem; }
.works-assistant-uploads { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; max-height: 8rem; overflow-y: auto; }
.works-assistant-upload { display: flex; align-items: center; gap: .5rem; border: 1px solid #ddd; border-radius: .6rem; padding: .35rem .5rem; max-width: 100%; font-size: .8rem; }
.works-assistant-upload span { overflow-wrap: anywhere; min-width: 0; }
.works-assistant-upload button { border: 0; background: transparent; cursor: pointer; font-size: 1.2rem; }

/* Automated reports: one task area at a time, readable cards and a grouped form. */
.works-auto-reports { display: flex; flex-direction: column; gap: 1rem; }
.auto-report-heading, .auto-report-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.auto-report-heading h2 { font-size: 1.3rem; font-weight: 650; margin-bottom: .35rem; }
.auto-report-heading > div:first-child, .auto-report-card-top > div { min-width: 0; }
.auto-report-delivery { display: flex; align-items: flex-start; gap: .7rem; border: 1px solid #e5e7eb; border-radius: .8rem; padding: .85rem 1rem; background: #fafafa; }
.auto-report-indicator { flex: 0 0 .55rem; height: .55rem; margin-top: .45rem; border-radius: 50%; background: #b7791f; }
.auto-report-indicator.is-ready { background: #168348; }
.auto-report-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.auto-report-stat { display: flex; flex-direction: column; text-align: left; gap: .35rem; border: 1px solid #e5e7eb; border-radius: .8rem; padding: 1rem; background: #fff; color: inherit; cursor: pointer; font: inherit; }
.auto-report-stat strong { font-size: 1.65rem; line-height: 1.2; }
.auto-report-stat small { font-size: .75rem; color: #6b7280; }
.auto-report-stat:hover { border-color: #ad2424; background: #fffafa; }
.auto-report-stat:focus-visible { outline: 2px solid #a41f1f; outline-offset: 3px; }
.auto-report-filters { display: grid; grid-template-columns: minmax(0,2fr) repeat(2,minmax(0,1fr)); align-items: end; gap: .85rem; }
.auto-report-card-list { display: grid; gap: .85rem; }
.auto-report-card { border: 1px solid #e5e7eb; border-radius: .8rem; padding: 1.1rem; margin-bottom: .85rem; min-width: 0; overflow-wrap: anywhere; background: #fff; }
.auto-report-card h3 { font-size: 1.05rem; font-weight: 650; margin-bottom: .3rem; }
.auto-report-card-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.auto-report-card-details span { display: block; font-size: .75rem; color: #6b7280; margin-bottom: .3rem; }
.auto-report-card-details strong { display: block; font-weight: 550; }
.auto-report-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: 1rem; }
.auto-report-empty { padding: 2.5rem 1rem; text-align: center; border: 1px dashed #d1d5db; border-radius: .8rem; }
.auto-report-empty p { color: #6b7280; margin-top: .4rem; }
.auto-report-run-error { padding: .6rem; background: #fff4f4; border-radius: .4rem; margin-top: .5rem; }
.auto-report-form-section { font-size: 1rem; font-weight: 650; margin: 1.3rem 0 .8rem; }
.auto-report-form-summary { padding: .7rem .9rem; background: #f8f8f8; border: 1px solid #e5e7eb; border-radius: .5rem; }
@media (max-width: 800px) { .auto-report-heading { flex-direction: column; } .auto-report-stats { grid-template-columns: repeat(2,minmax(0,1fr)); } .auto-report-filters { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .auto-report-stat { padding: .8rem; } .auto-report-stat span { font-size: .8rem; } .auto-report-card-details { grid-template-columns: 1fr; } .auto-report-card { padding: .85rem; } .auto-report-card-top { flex-wrap: wrap; } }
@media (max-width: 480px) { .auto-report-stat small { display: none; } .auto-report-stat strong { font-size: 1.4rem; } }
.auto-report-card-list .auto-report-card { margin-bottom: 0; }
/* Hidden tab panes/loading hosts must not create gaps between page sections. */
.works-auto-reports { display: block; }
.works-auto-reports > .auto-report-heading,
.works-auto-reports > .auto-report-delivery,
.works-auto-reports > .auto-report-stats,
.works-auto-reports > .auto-report-filters,
.works-auto-reports > ckn-alert { margin-bottom: 1rem; }

/* Company knowledge library and safe Markdown reader. */
.knowledge-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin:0 0 1.2rem; }
.knowledge-heading h2 { font-size:1.5rem; font-weight:650; }
.knowledge-filters { display:grid; grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) repeat(3,auto); gap:.8rem; align-items:end; margin:1rem 0 .6rem; }
.knowledge-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.knowledge-card { border:1px solid #e5e7eb; border-radius:.8rem; background:#fff; padding:1.1rem; min-width:0; overflow-wrap:anywhere; }
.knowledge-card p { margin-top:.45rem; }
.knowledge-card-title { display:block; font-size:1.1rem; font-weight:650; margin-top:.65rem; text-decoration:none; }
.knowledge-card-title:hover { text-decoration:underline; }
.knowledge-empty { padding:2.5rem 1rem; text-align:center; border:1px dashed #d1d5db; border-radius:.8rem; }
.knowledge-reader-grid { display:grid; grid-template-columns:minmax(0,1fr) 17rem; gap:1.5rem; }
.knowledge-article { min-width:0; padding:1.4rem; border:1px solid #e5e7eb; border-radius:.8rem; background:#fff; }
.knowledge-article > h1 { font-size:1.7rem; font-weight:650; overflow-wrap:anywhere; }
.knowledge-aside { min-width:0; overflow-wrap:anywhere; }
.knowledge-aside h3 { font-weight:650; margin:1rem 0 .6rem; }
.knowledge-aside p { margin-bottom:.6rem; }
.knowledge-reference { display:block; text-decoration:underline; margin:.5rem 0; }
.knowledge-reference-picker { display:flex; align-items:center; gap:.7rem; margin-top:.8rem; }
.knowledge-reference-picker ckn-select { flex:1; min-width:0; }
.knowledge-reference-chip { display:flex; justify-content:space-between; align-items:center; gap:.6rem; margin:.5rem 0; padding:.5rem; background:#f8f8f8; border-radius:.4rem; overflow-wrap:anywhere; }
.knowledge-search-results { padding:1rem; border:1px solid #e5e7eb; border-radius:.8rem; margin:1rem 0; }
.knowledge-search-results h3 { font-weight:650; }
.knowledge-search-results article { padding:.7rem 0; border-bottom:1px solid #eee; overflow-wrap:anywhere; }
.knowledge-search-results a { font-weight:600; text-decoration:underline; }
.knowledge-markdown { overflow-wrap:anywhere; line-height:1.8; }
.knowledge-markdown :is(h1,h2,h3,h4) { font-weight:650; margin:1.2rem 0 .6rem; line-height:1.4; }
.knowledge-markdown h1 { font-size:1.5rem; }.knowledge-markdown h2 { font-size:1.3rem; }.knowledge-markdown h3 { font-size:1.1rem; }
.knowledge-markdown p { margin:.7rem 0; }.knowledge-markdown ul { list-style:disc; padding-left:1.5rem; }.knowledge-markdown ol { list-style:decimal; padding-left:1.5rem; }
.knowledge-markdown a { color:#1d4ed8; text-decoration:underline; }
.knowledge-markdown pre { max-width:100%; overflow-x:auto; background:#f6f6f6; padding:.8rem; border-radius:.5rem; font-family:monospace; }
.knowledge-markdown code { font-family:monospace; background:#f6f6f6; padding:.1rem .25rem; border-radius:.2rem; }
.knowledge-markdown table { display:block; overflow-x:auto; max-width:100%; border-collapse:collapse; }.knowledge-markdown :is(th,td) { border:1px solid #ddd; padding:.4rem .7rem; }
.knowledge-markdown blockquote { padding-left:1rem; border-left:3px solid #ccc; color:#666; }
@media(max-width:1100px){.knowledge-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.knowledge-filters{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.knowledge-heading{flex-direction:column;}.knowledge-cards,.knowledge-reader-grid,.knowledge-filters{grid-template-columns:1fr;}.knowledge-article{padding:1rem;}.knowledge-reference-picker{flex-wrap:wrap;}.knowledge-reference-chip{align-items:flex-start;flex-wrap:wrap;}}

/* Case fields from customer issue workbooks. */
.case-tracking-section { border:1px solid #e5e7eb; border-radius:.6rem; padding:1rem; margin:0 0 .8rem; min-width:0; }
.case-tracking-section > summary { font-weight:650; cursor:pointer; }
.case-tracking-section[open] > summary { margin-bottom:1rem; }
.case-tracking-section h3 { font-weight:650; margin-bottom:.75rem; }
.case-tracking-read-grid { display:grid; align-items:start; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.case-tracking-section dl > div { margin:.6rem 0; }
.case-tracking-section dt { color:#6b7280; font-size:.8rem; margin-bottom:.2rem; }
.case-tracking-section dd { white-space:pre-wrap; overflow-wrap:anywhere; }
.case-stage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
@media(max-width:650px){.case-tracking-read-grid,.case-stage-grid{grid-template-columns:1fr;}.case-tracking-section{padding:.8rem;}}

/* Callback-only layout; the shared authentication theme stays in sync. */
.ckn-auth-body:has(.works-oauth-callback) {
    background: radial-gradient(ellipse at 50% 0%, #fbeeee 0, transparent 55%), #f7f8fa;
    min-height: 100dvh;
}
.ckn-auth-shell:has(.works-oauth-callback) {
    background: transparent;
    gap: 0;
    width: min(100%, 28rem);
    padding: 2rem 1.25rem;
    margin-inline: auto;
}
.ckn-auth-shell:has(.works-oauth-callback) .ckn-auth-brand {
    margin-bottom: 1.75rem;
}
.ckn-auth-card:has(.works-oauth-callback) {
    border: 1px solid #e6e8ed;
    border-radius: 1.25rem;
    padding: 2.25rem 2rem 1.5rem;
    box-shadow: 0 12px 40px -16px rgb(28 32 40 / 18%);
    background: #fff;
}
.works-oauth-callback { text-align: center; }
.works-oauth-status-icon {
    display: flex; align-items: center; justify-content: center;
    width: 3.25rem; height: 3.25rem; margin: 0 auto 1.25rem;
    border: 1px solid #f0d6d6; border-radius: 1rem;
    background: #fff4f4; color: #a71919; font-size: 1.35rem;
}
.works-oauth-eyebrow { margin: 0 0 .6rem; color: #8a6060; font-size: .65rem; font-weight: 600; letter-spacing: .15em; }
.works-oauth-heading { margin: 0; color: #202126; font-size: 1.4rem; line-height: 1.4; font-weight: 650; text-wrap: balance; }
.works-oauth-message { margin: .85rem 0 1.5rem; color: #697180; font-size: .875rem; line-height: 1.8; text-wrap: pretty; overflow-wrap: anywhere; }
.works-oauth-actions { display: flex; }
.works-oauth-actions > * { flex: 1; }
.works-oauth-actions [data-part="root"], .works-oauth-actions a, .works-oauth-actions button { width: 100%; justify-content: center; }
.works-oauth-footnote { margin: 1.75rem 0 0; padding-top: 1.1rem; border-top: 1px solid #eef0f3; color: #8b919c; font-size: .7rem; line-height: 1.6; }
@media (max-width: 480px) {
    .ckn-auth-card:has(.works-oauth-callback) { padding: 1.75rem 1.25rem 1.25rem; }
    .works-oauth-heading { font-size: 1.25rem; }
}

/* Keep the Case editor tab strip within narrow modal viewports. */
.case-editor-tabs { min-width:0; max-width:100%; margin-bottom:1rem; }

/* A file drag over the Assistant queues attachments through the normal picker validation. */
.works-assistant-panel-body { position:relative; }
.works-assistant-drop-overlay { position:absolute; inset:.25rem; z-index:20; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.65rem; padding:1.25rem; border:2px dashed #a51d1d; border-radius:1rem; background:rgba(255,247,247,.96); color:#8c1919; text-align:center; pointer-events:none; }
.works-assistant-drop-overlay strong { font-size:1.15rem; }
.works-assistant-drop-overlay span { font-size:.8rem; }

/* Case workspace: primary issue first, operational context alongside it. */
.ticket-workspace { width: 100%; max-width: none; margin: 0; min-width: 0; color: #202329; }
.ticket-breadcrumb { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; color: #747984; font-size: .78rem; }
.ticket-provider { padding: .12rem .45rem; border-radius: 5px; background: #f1f3f6; font-size: .7rem; font-weight: 650; letter-spacing: .04em; }
.ticket-workspace #ticketTabs { display: block; max-width: 100%; overflow-x: auto; margin-bottom: 1rem; }
.ticket-workspace #ticketTabs [role=tablist] { flex-wrap: nowrap; min-width: max-content; }
.ticket-overview-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,320px); gap: 1.1rem; align-items: start; }
.ticket-overview-grid > div { min-width: 0; }
.ticket-workspace [data-test=tk-description] p { color: #384151; font-size: .94rem; line-height: 1.85; overflow-wrap: anywhere; }
.ticket-workspace [data-test=tk-latest] li { line-height: 1.65; overflow-wrap: anywhere; }
.ticket-workspace [data-test=tk-details], .ticket-workspace [data-test=tk-service] { font-size: .83rem; overflow-wrap: anywhere; }
.ticket-resolution { border: 1px solid #e3e7e5; border-radius: 12px; background: #fff; padding: 1rem 1.15rem; }
.ticket-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .4rem; }
.ticket-section-heading h2 { font-size: .94rem; font-weight: 650; margin: 0; }
.ticket-resolution dl { margin: .5rem 0 0; }
.ticket-resolution dl > div { padding: .85rem 0; border-bottom: 1px solid #eceef1; }
.ticket-resolution dl > div:last-child { border: 0; padding-bottom: .1rem; }
.ticket-resolution dt { font-size: .76rem; font-weight: 600; color: #697182; margin-bottom: .35rem; }
.ticket-resolution dd { margin: 0; font-size: .9rem; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.ticket-resolution dd small { display: block; color: #747b87; margin-top: .45rem; }
.ticket-sla-help { margin-top: .9rem; border-top: 1px solid #eceef1; padding-top: .7rem; font-size: .74rem; color: #757c88; }
.ticket-sla-help summary, .ticket-audit summary { cursor: pointer; }
.ticket-sla-help p { line-height: 1.65; margin-bottom: 0; }
.ticket-audit { border: 1px solid #e4e6ea; border-radius: 10px; background: #fff; padding: .85rem 1rem; font-size: .82rem; }
.ticket-audit summary { font-weight: 600; }
.ticket-audit[open] summary { margin-bottom: .8rem; }
.ticket-workspace .case-tracking-reader { min-width: 0; }
.ticket-workspace .case-tracking-read-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: .8rem; margin-bottom: .8rem; }
.ticket-workspace .case-tracking-read-grid > .case-tracking-section { margin: 0; }
.ticket-workspace .case-tracking-read-grid dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 1.1rem; margin: 0; }
.ticket-workspace .case-tracking-read-grid .ticket-tracking-wide { grid-column: 1 / -1; }
.ticket-workspace .case-tracking-section { min-width: 0; border: 1px solid #e4e6ea; border-radius: 12px; padding: 1rem 1.1rem; background: #fff; margin-bottom: 1rem; }
.ticket-workspace .case-tracking-section h3 { font-size: .94rem; font-weight: 650; margin: 0 0 .85rem; }
.ticket-workspace .case-tracking-section dl > div { margin: 0; min-width: 0; padding: .6rem 0; border-top: 1px solid #eef0f2; }
.ticket-workspace .case-tracking-section dt { font-size: .75rem; color: #747b87; margin-bottom: .3rem; }
.ticket-workspace .case-tracking-section dd { margin: 0; font-size: .88rem; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.ticket-workspace [data-test=tk-timeline], .ticket-workspace [data-test=tk-composer] { width: 100%; max-width: none; margin-left: 0; margin-right: 0; scroll-margin-top: 1rem; }
.ticket-workspace [data-test=tk-timeline] li { line-height: 1.75; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
 .ticket-workspace .case-tracking-read-grid dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ticket-overview-grid { grid-template-columns: minmax(0,1fr); }
 .ticket-overview-grid > div:last-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
}
@media (max-width: 650px) {
 .ticket-workspace .case-tracking-read-grid dl { grid-template-columns: minmax(0,1fr); }
 .ticket-overview-grid > div:last-child, .ticket-workspace .case-tracking-read-grid { grid-template-columns: minmax(0,1fr); }
 .ticket-section-heading { align-items: flex-start; }
}

.ticket-workspace .ticket-facts { margin: 0; }
.ticket-workspace .ticket-facts > div { padding: .65rem 0; border-bottom: 1px solid #eceef1; }
.ticket-workspace .ticket-facts > div:first-child { padding-top: .1rem; }
.ticket-workspace .ticket-facts > div:last-child { border-bottom: 0; padding-bottom: .1rem; }
.ticket-workspace .ticket-facts dt { font-size: .72rem; color: #757d8b; margin-bottom: .25rem; }
.ticket-workspace .ticket-facts dd { margin: 0; font-size: .85rem; line-height: 1.65; overflow-wrap: anywhere; color: #303744; }
.ticket-workspace .ticket-facts a { color: inherit; text-underline-offset: 3px; }
.ticket-workspace .ticket-facts small { display: block; color: #747b87; }

/* Root-only account switch, owned by Works rather than the shared shell. */
.works-user-switch-control { padding: 12px 14px; border-top: 1px solid var(--color-line, #e5e7eb); }
.works-user-switch { min-width: 0; }

.works-user-switch-auth { position: fixed; left: 16px; bottom: 16px; width: min(280px, calc(100vw - 32px)); z-index: 50; }
.works-user-switch-auth .works-user-switch-control { background: white; border: 1px solid #e5e7eb; border-radius: 12px; }

/* Mobile browsers: 92vh is taller than the visible area (address bar, system bar), so a long dialog's
   bottom buttons could not be scrolled into view. dvh follows the visible viewport. */
@supports (height: 1dvh) {
    .ckn-modal__modal { top: 2dvh; max-height: 96dvh; padding-bottom: max(1rem, env(safe-area-inset-bottom)); overscroll-behavior: contain; }
    :where(.ckn-modal__modal).ckn-dialog-sm { top: 10dvh; max-height: 88dvh; }
}

/* Filter / search / action row: inputs, selects and buttons share one height and sit on one baseline. */
.works-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem; margin-bottom: .75rem; }
.works-toolbar :is(input:not([type="checkbox"]):not([type="radio"]), select, ckn-button :is(button, a)) { box-sizing: border-box; height: 2.5rem; min-height: 2.5rem; }
.works-toolbar ckn-button :is(button, a) { display: inline-flex; align-items: center; justify-content: center; }

/* Repository pages: header, cards, copy rows, breadcrumbs. */
.works-pagehead { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; margin: .5rem 0 .25rem; }
.works-pagehead h1 { font-size: 1.5rem; font-weight: 650; line-height: 1.2; }
.works-badge { font-size: .75rem; line-height: 1.4; padding: .05rem .55rem; border: 1px solid var(--color-line-strong); border-radius: 999px; color: var(--color-g4); }
.works-card { border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-paper); overflow: hidden; margin-bottom: 1rem; }
.works-card table { width: 100%; border-collapse: collapse; }
.works-card td, .works-card th { padding: .6rem .85rem; vertical-align: middle; }
.works-card thead th { font-size: .8125rem; color: var(--color-g4); font-weight: 600; text-align: left; background: color-mix(in oklab, var(--color-ink) 3%, transparent); }
.works-card tbody tr + tr td, .works-card thead + tbody tr:first-child td { border-top: 1px solid var(--color-line); }
.works-card tbody tr:hover { background: color-mix(in oklab, var(--color-ink) 4%, transparent); }
.works-card-pad { padding: .85rem 1rem; }
.works-copyrow { display: flex; align-items: flex-end; gap: .5rem; }
.works-copyrow > :first-child { flex: 1; min-width: 0; }
.works-copyrow :is(input, ckn-button :is(button, a)) { box-sizing: border-box; height: 2.5rem; min-height: 2.5rem; }
.works-copyrow input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8125rem; }
.works-copyrow ckn-input { margin-bottom: 0 !important; }
.works-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; font-size: .875rem; }
.works-crumbs a { text-decoration: none; font-weight: 600; }
.works-crumbs a:hover { text-decoration: underline; }
.works-crumbs .works-sep { color: var(--color-g4); }
.works-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 800px) { .works-grid2 { grid-template-columns: 1fr; } }
.works-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8125rem; }
.works-pre { margin: 0; padding: .85rem 1rem; overflow-x: auto; font-size: .8125rem; line-height: 1.5; }
.works-muted { color: var(--color-g4); font-size: .875rem; }

/* Toolbars: search and filters first, action buttons last (and at the right). ckn-table projects its
   toolbar slot before its search box, so the search is moved to the front here. */
ckn-table [data-part="tools"] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; width: 100%; }
ckn-table [data-part="tools"] [data-part="search"] { order: -1; flex: 1 1 16rem; min-width: 0; }
ckn-table [data-part="tools"] > ckn-content > [slot="toolbar"] { margin-left: auto; }
