:root {
    --kac-onyx: #1c1b1a;
    --kac-navy: #0f1e36;
    --kac-gold: #96762d;
    --kac-gold-light: #c8aa61;
    --kac-sand: #f7f4ef;
    --kac-paper: #fffdfa;
    --kac-white: #fff;
    --kac-muted: #77716a;
    --kac-line: rgba(28, 27, 26, .1);
    --kac-green: #327a55;
    --kac-red: #9a3c3c;
    --kac-shadow: 0 18px 50px rgba(15, 30, 54, .08);
}

.kac-portal-page .entry-header,
.kac-portal-page .page-header,
.kac-portal-page .entry-title {
    display: none !important;
}

.kac-portal-page .site-main,
.kac-portal-page .entry-content,
.kac-portal-page main {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kac-dashboard,
.kac-dashboard *,
.kac-login-shell,
.kac-login-shell * {
    box-sizing: border-box;
}

.kac-dashboard {
    min-height: 760px;
    background: #eeece8;
    color: var(--kac-onyx);
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

.kac-dashboard button,
.kac-dashboard input,
.kac-dashboard select,
.kac-dashboard textarea {
    font: inherit;
}

.kac-topbar {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 22px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    background: var(--kac-navy);
    color: #fff;
}

.kac-brand,
.kac-topbar__actions,
.kac-user {
    display: flex;
    align-items: center;
}

.kac-brand {
    gap: 12px;
}

.kac-brand__mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--kac-gold-light);
    border-radius: 50%;
    color: var(--kac-gold-light);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 25px;
}

.kac-brand div {
    display: grid;
}

.kac-brand div span {
    color: var(--kac-gold-light);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .24em;
}

.kac-brand div strong {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 19px;
    font-weight: 500;
}

.kac-topbar__actions {
    gap: 14px;
}

.kac-presence select {
    min-height: 34px;
    padding: 0 30px 0 11px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 99px;
    background-color: rgba(255, 255, 255, .07);
    color: #fff;
    font-size: 10px;
}

.kac-alert-button {
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(199, 168, 90, .3);
    border-radius: 99px;
    background: rgba(199, 168, 90, .08);
    color: var(--kac-gold-light);
    cursor: pointer;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .04em;
}

.kac-alert-button:disabled {
    opacity: .45;
}

.kac-presence select option {
    color: var(--kac-onyx);
}

.kac-user {
    gap: 8px;
    color: rgba(255, 255, 255, .82);
    font-size: 10px;
}

.kac-user img {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
}

.kac-logout {
    color: var(--kac-gold-light) !important;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
}

.kac-workspace {
    min-height: 684px;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
}

.kac-sidebar {
    padding: 18px 9px;
    background: var(--kac-onyx);
}

.kac-nav {
    display: grid;
    gap: 8px;
}

.kac-nav button {
    position: relative;
    min-height: 64px;
    display: grid;
    place-items: center;
    gap: 2px;
    padding: 7px 4px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: rgba(255, 255, 255, .55);
    cursor: pointer;
    font-size: 8px;
}

.kac-nav button > span {
    color: var(--kac-gold-light);
    font-family: Georgia, serif;
    font-size: 22px;
}

.kac-nav button.is-active {
    background: rgba(199, 168, 90, .12);
    color: #fff;
}

.kac-nav em {
    position: absolute;
    top: 6px;
    right: 7px;
    min-width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--kac-gold);
    color: #fff;
    font-size: 8px;
    font-style: normal;
}

.kac-section[data-section-panel="inbox"].is-active {
    min-width: 0;
    display: grid;
    grid-template-columns: 340px minmax(390px, 1fr) 285px;
    background: var(--kac-paper);
}

.kac-inbox,
.kac-chat,
.kac-details {
    min-width: 0;
    height: 684px;
}

.kac-inbox {
    display: grid;
    grid-template-rows: auto auto 1fr;
    border-right: 1px solid var(--kac-line);
    background: #f9f7f3;
}

.kac-inbox__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 20px 18px 13px;
}

.kac-eyebrow {
    margin: 0 0 4px !important;
    color: var(--kac-gold) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
}

.kac-inbox h1,
.kac-wide-section h1,
.kac-login-card h1 {
    margin: 0;
    color: var(--kac-onyx);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
}

.kac-icon-button {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--kac-line);
    border-radius: 50%;
    background: #fff;
    color: var(--kac-gold);
    cursor: pointer;
    font-size: 18px;
}

.kac-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 105px;
    gap: 6px;
    padding: 0 12px 12px;
}

.kac-filters input,
.kac-filters select,
.kac-field select,
.kac-form-grid input,
.kac-form-grid select,
.kac-form-content textarea {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid var(--kac-line);
    border-radius: 7px;
    outline: none;
    background: #fff;
    color: var(--kac-onyx);
    font-size: 10px;
}

.kac-filters input:focus,
.kac-filters select:focus,
.kac-field select:focus,
.kac-composer textarea:focus {
    border-color: var(--kac-gold);
    box-shadow: 0 0 0 3px rgba(150, 118, 45, .09);
}

.kac-conversation-list {
    overflow-y: auto;
    padding: 0 8px 10px;
}

.kac-conversation-card {
    width: 100%;
    display: grid;
    gap: 7px;
    padding: 13px 12px;
    border: 0;
    border-bottom: 1px solid var(--kac-line);
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

.kac-conversation-card:hover,
.kac-conversation-card.is-active {
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 7px 26px rgba(15, 30, 54, .05);
}

.kac-conversation-card.is-active {
    box-shadow: inset 3px 0 var(--kac-gold), 0 7px 26px rgba(15, 30, 54, .05);
}

.kac-conversation-card > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.kac-conversation-card strong {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kac-conversation-card time {
    flex: none;
    color: #9b948c;
    font-size: 8px;
}

.kac-conversation-card p {
    overflow: hidden;
    margin: 0;
    color: var(--kac-muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kac-conversation-card > div:last-child > span:last-of-type {
    color: #8c857e;
    font-size: 8px;
}

.kac-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 20px;
    padding: 3px 7px;
    border-radius: 99px;
    background: rgba(150, 118, 45, .1);
    color: #705720;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.kac-badge--unread {
    min-width: 20px;
    justify-content: center;
    background: var(--kac-navy);
    color: #fff;
}

.kac-list-empty {
    margin: 22px 10px;
    padding: 25px 15px;
    border: 1px dashed rgba(150, 118, 45, .3);
    border-radius: 9px;
    color: var(--kac-muted);
    font-size: 10px;
    text-align: center;
}

.kac-chat {
    position: relative;
    background:
        radial-gradient(circle at 50% 20%, rgba(150, 118, 45, .06), transparent 34%),
        var(--kac-sand);
}

.kac-empty-state {
    height: 100%;
    display: grid;
    place-content: center;
    justify-items: center;
    padding: 30px;
    color: #8b857e;
    text-align: center;
}

.kac-empty-state > span {
    color: var(--kac-gold);
    font-size: 35px;
}

.kac-empty-state h2 {
    margin: 10px 0 4px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 27px;
    font-weight: 500;
}

.kac-empty-state p {
    margin: 0;
    font-size: 10px;
}

.kac-chat__active {
    height: 100%;
    display: grid;
    grid-template-rows: 67px minmax(0, 1fr) auto auto;
}

.kac-chat__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 17px;
    border-bottom: 1px solid var(--kac-line);
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(12px);
}

.kac-chat__header > div {
    min-width: 0;
    flex: 1;
}

.kac-chat__header h2 {
    margin: 0;
    overflow: hidden;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kac-chat__header p {
    margin: 2px 0 0;
    overflow: hidden;
    color: var(--kac-muted);
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kac-priority {
    padding: 4px 8px;
    border: 1px solid var(--kac-line);
    border-radius: 99px;
    color: var(--kac-muted);
    font-size: 7px;
    text-transform: uppercase;
}

.kac-priority[data-priority="urgent"] {
    border-color: rgba(154, 60, 60, .3);
    background: rgba(154, 60, 60, .08);
    color: var(--kac-red);
}

.kac-message-list {
    overflow-y: auto;
    padding: 20px;
    scroll-behavior: smooth;
}

.kac-message {
    max-width: 76%;
    margin: 0 0 13px;
}

.kac-message > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 4px 4px;
}

.kac-message strong {
    color: #7b746c;
    font-size: 8px;
}

.kac-message time {
    color: #a49d95;
    font-size: 7px;
}

.kac-message p {
    margin: 0;
    padding: 10px 13px;
    border: 1px solid var(--kac-line);
    border-radius: 4px 14px 14px 14px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(28, 27, 26, .04);
    font-size: 11px;
    white-space: pre-wrap;
}

.kac-message.is-own,
.kac-message--agent {
    margin-left: auto;
}

.kac-message.is-own p {
    border-color: var(--kac-navy);
    border-radius: 14px 4px 14px 14px;
    background: var(--kac-navy);
    color: #fff;
}

.kac-message--ai p {
    border-left: 3px solid var(--kac-gold);
}

.kac-message.is-internal {
    max-width: 90%;
    margin-right: auto;
    margin-left: auto;
}

.kac-message.is-internal p {
    border: 1px dashed rgba(150, 118, 45, .45);
    border-radius: 8px;
    background: #fff9e9;
    color: #69562a;
}

.kac-ai-draft {
    margin: 0 14px 8px;
    padding: 12px;
    border: 1px solid rgba(150, 118, 45, .3);
    border-radius: 9px;
    background: #fffcf4;
    box-shadow: var(--kac-shadow);
}

.kac-ai-draft > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.kac-ai-draft strong {
    color: var(--kac-gold);
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.kac-ai-draft span {
    color: var(--kac-muted);
    font-size: 8px;
}

.kac-ai-draft p {
    margin: 8px 0;
    font-size: 10px;
    white-space: pre-wrap;
}

.kac-ai-draft button,
.kac-composer__tools button {
    padding: 5px 8px;
    border: 1px solid rgba(150, 118, 45, .28);
    border-radius: 5px;
    background: #fff;
    color: #6f5724;
    cursor: pointer;
    font-size: 8px;
}

.kac-composer {
    padding: 10px 12px 12px;
    border-top: 1px solid var(--kac-line);
    background: #fff;
}

.kac-composer__tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7px;
}

.kac-composer__tools select {
    min-height: 27px;
    padding: 3px 7px;
    border: 1px solid var(--kac-line);
    border-radius: 5px;
    color: var(--kac-muted);
    font-size: 8px;
}

.kac-composer__row {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.kac-composer textarea {
    width: 100%;
    min-height: 54px;
    max-height: 130px;
    padding: 10px 11px;
    border: 1px solid var(--kac-line);
    border-radius: 8px;
    outline: none;
    resize: vertical;
    font-size: 10px;
}

.kac-composer__row button,
.kac-primary-button {
    min-height: 42px;
    padding: 0 17px;
    border: 0;
    border-radius: 7px;
    background: var(--kac-gold);
    color: #fff;
    cursor: pointer;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kac-composer button:disabled,
.kac-primary-button:disabled {
    opacity: .5;
}

.kac-composer__row button:hover,
.kac-composer__row button:focus,
.kac-primary-button:hover,
.kac-primary-button:focus {
    background: #7f6224;
    color: #fff;
}

.kac-details {
    overflow-y: auto;
    padding: 19px 16px;
    border-left: 1px solid var(--kac-line);
    background: #fff;
}

.kac-details__empty {
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--kac-muted);
    font-size: 9px;
    text-align: center;
}

.kac-details h2 {
    margin: 0 0 18px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 23px;
    font-weight: 500;
}

.kac-field {
    display: block;
    margin-bottom: 11px;
}

.kac-field > span,
.kac-form-grid label > span,
.kac-form-content > span {
    display: block;
    margin-bottom: 4px;
    color: #77716a;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kac-traveller-card {
    margin-top: 19px;
    padding-top: 17px;
    border-top: 1px solid var(--kac-line);
}

.kac-traveller-card h3 {
    margin: 0 0 10px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 21px;
    font-weight: 600;
}

.kac-traveller-card dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.kac-traveller-card dl div {
    min-width: 0;
}

.kac-traveller-card dt {
    color: #989088;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.kac-traveller-card dd {
    overflow-wrap: anywhere;
    margin: 2px 0 0;
    font-size: 9px;
}

.kac-traveller-card a {
    color: var(--kac-gold) !important;
}

.kac-wide-section {
    min-height: 684px;
    padding: 28px;
    overflow: auto;
    background: var(--kac-sand);
}

.kac-wide-section header {
    margin-bottom: 24px;
}

.kac-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 13px;
}

.kac-team-card {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px;
    border: 1px solid var(--kac-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--kac-shadow);
}

.kac-team-card > img {
    width: 50px;
    height: 50px;
    border: 2px solid rgba(150, 118, 45, .25);
    border-radius: 50%;
}

.kac-team-card > div {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.kac-team-card h3 {
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 19px;
}

.kac-team-card p {
    margin: 0;
    color: var(--kac-muted);
    font-size: 8px;
}

.kac-team-card strong {
    font-size: 8px;
}

.kac-badge--presence-online {
    background: rgba(50, 122, 85, .1);
    color: var(--kac-green);
}

.kac-badge--presence-busy {
    background: rgba(154, 60, 60, .1);
    color: var(--kac-red);
}

.kac-metric-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(110px, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}

.kac-metric-grid article {
    display: grid;
    gap: 4px;
    padding: 15px;
    border: 1px solid var(--kac-line);
    border-radius: 9px;
    background: #fff;
}

.kac-metric-grid strong {
    color: var(--kac-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 29px;
}

.kac-metric-grid span {
    color: var(--kac-muted);
    font-size: 8px;
}

.kac-report-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--kac-line);
    border-radius: 10px;
    background: #fff;
}

.kac-report-table {
    width: 100%;
    border-collapse: collapse;
}

.kac-report-table th,
.kac-report-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--kac-line);
    font-size: 9px;
    text-align: left;
}

.kac-report-table th {
    color: var(--kac-muted);
    font-size: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kac-knowledge-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.kac-knowledge-form {
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid rgba(150, 118, 45, .25);
    border-radius: 10px;
    background: #fff;
}

.kac-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.kac-form-content {
    display: block;
    margin-top: 12px;
}

.kac-form-content textarea {
    min-height: 130px;
    resize: vertical;
}

.kac-form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.kac-form-actions > button:not(.kac-primary-button) {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--kac-line);
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
    font-size: 9px;
}

.kac-knowledge-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 11px;
}

.kac-knowledge-card {
    padding: 15px;
    border: 1px solid var(--kac-line);
    border-radius: 9px;
    background: #fff;
}

.kac-knowledge-card > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 9px;
}

.kac-knowledge-card h3 {
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 20px;
}

.kac-knowledge-card p {
    color: var(--kac-muted);
    font-size: 8px;
}

.kac-knowledge-card small {
    color: #9b948d;
    font-size: 7px;
}

.kac-toast-region {
    position: fixed;
    z-index: 1000000;
    right: 18px;
    bottom: 18px;
    display: grid;
    gap: 7px;
}

.kac-toast {
    max-width: 340px;
    padding: 10px 13px;
    border-radius: 7px;
    background: var(--kac-navy);
    box-shadow: 0 12px 35px rgba(15, 30, 54, .25);
    color: #fff;
    font-size: 9px;
}

.kac-toast--error {
    background: #7e3030;
}

.kac-toast--warning {
    background: #7b6228;
}

.kac-mobile-tabs,
.kac-back {
    display: none;
}

.kac-login-shell {
    min-height: 700px;
    display: grid;
    place-items: center;
    padding: 30px 15px;
    background:
        radial-gradient(circle at 70% 20%, rgba(199, 168, 90, .15), transparent 30%),
        var(--kac-navy);
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
}

.kac-login-card {
    width: min(430px, 100%);
    padding: 34px;
    border: 1px solid rgba(199, 168, 90, .25);
    border-radius: 13px;
    background: var(--kac-paper);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .22);
}

.kac-login-card > p:not(.kac-eyebrow) {
    color: var(--kac-muted);
    font-size: 11px;
}

.kac-login-card label {
    display: block;
    margin: 12px 0 5px;
    color: var(--kac-muted);
    font-size: 9px;
    font-weight: 700;
}

.kac-login-card input[type="text"],
.kac-login-card input[type="password"] {
    width: 100%;
    min-height: 43px;
    padding: 8px 10px;
    border: 1px solid var(--kac-line);
    border-radius: 7px;
}

.kac-login-card input[type="submit"] {
    width: 100%;
    min-height: 45px;
    margin-top: 15px;
    border: 0;
    border-radius: 7px;
    background: var(--kac-gold);
    color: #fff;
    cursor: pointer;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.kac-access-denied {
    margin: 30px;
    padding: 25px;
    border: 1px solid var(--kac-line);
    background: #fff;
}

@media (max-width: 1180px) {
    .kac-section[data-section-panel="inbox"].is-active {
        grid-template-columns: 310px minmax(360px, 1fr) 250px;
    }

    .kac-metric-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .kac-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .kac-dashboard {
        min-height: 100svh;
    }

    .kac-topbar {
        height: 64px;
        padding: 0 12px;
    }

    .kac-brand__mark {
        width: 36px;
        height: 36px;
    }

    .kac-brand div strong {
        font-size: 16px;
    }

    .kac-user span,
    .kac-logout {
        display: none;
    }

    .kac-alert-button {
        width: 34px;
        padding: 0;
        overflow: hidden;
        font-size: 0;
    }

    .kac-alert-button::before {
        content: "●";
        color: var(--kac-gold-light);
        font-size: 11px;
    }

    .kac-workspace {
        min-height: calc(100svh - 108px);
        display: block;
    }

    .kac-sidebar {
        display: none;
    }

    .kac-mobile-tabs {
        height: 44px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-bottom: 1px solid var(--kac-line);
        background: #fff;
    }

    .kac-mobile-tabs button {
        border: 0;
        border-bottom: 2px solid transparent;
        background: transparent;
        color: var(--kac-muted);
        font-size: 9px;
        font-weight: 700;
    }

    .kac-mobile-tabs button.is-active {
        border-color: var(--kac-gold);
        color: var(--kac-navy);
    }

    .kac-section[data-section-panel="inbox"].is-active {
        display: block;
    }

    .kac-inbox,
    .kac-chat,
    .kac-details {
        height: calc(100svh - 108px);
    }

    .kac-dashboard:not([data-mobile-panel]) [data-mobile-region="chat"],
    .kac-dashboard:not([data-mobile-panel]) [data-mobile-region="details"],
    .kac-dashboard[data-mobile-panel="inbox"] [data-mobile-region="chat"],
    .kac-dashboard[data-mobile-panel="inbox"] [data-mobile-region="details"],
    .kac-dashboard[data-mobile-panel="chat"] [data-mobile-region="inbox"],
    .kac-dashboard[data-mobile-panel="chat"] [data-mobile-region="details"],
    .kac-dashboard[data-mobile-panel="details"] [data-mobile-region="inbox"],
    .kac-dashboard[data-mobile-panel="details"] [data-mobile-region="chat"] {
        display: none;
    }

    .kac-inbox,
    .kac-details {
        border: 0;
    }

    .kac-back {
        display: inline-grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border: 1px solid var(--kac-line);
        border-radius: 50%;
        background: #fff;
        font-size: 22px;
    }

    .kac-wide-section {
        min-height: calc(100svh - 108px);
        padding: 20px 13px;
    }

    .kac-knowledge-head {
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 580px) {
    .kac-presence select {
        width: 88px;
    }

    .kac-brand div span {
        display: none;
    }

    .kac-brand div strong {
        font-size: 14px;
    }

    .kac-inbox__head {
        padding-top: 15px;
    }

    .kac-message {
        max-width: 88%;
    }

    .kac-details {
        padding: 19px;
    }

    .kac-metric-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kac-form-grid {
        grid-template-columns: 1fr;
    }

    .kac-knowledge-head {
        display: grid;
    }

    .kac-knowledge-list {
        grid-template-columns: 1fr;
    }

    .kac-toast-region {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }

    .kac-toast {
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kac-message-list {
        scroll-behavior: auto;
    }
}

/* KAPICO Concierge 0.2.0: isolated floating workspace */
body.kac-portal-page {
    overflow: hidden !important;
    background: #091426 !important;
}

body.kac-portal-page::before {
    position: fixed;
    z-index: 999970;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 12%, rgba(150, 118, 45, .16), transparent 34%),
        rgba(7, 16, 30, .62);
    -webkit-backdrop-filter: blur(18px) saturate(.72);
    backdrop-filter: blur(18px) saturate(.72);
}

body.kac-portal-page .joinchat,
body.kac-portal-page #qlwapp,
body.kac-portal-page .qlwapp,
body.kac-portal-page .ht-ctc,
body.kac-portal-page .wa__btn_popup,
body.kac-portal-page [class*="whatsapp-chat"],
body.kac-portal-page [id*="whatsapp-chat"] {
    display: none !important;
}

body.kac-portal-page .kac-dashboard,
body.kac-portal-page .kac-login-shell,
body.kac-portal-page .kac-access-denied {
    position: fixed !important;
    z-index: 999990 !important;
}

body.kac-portal-page .kac-dashboard {
    inset: 12px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: 82px minmax(0, 1fr);
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .19) !important;
    border-radius: 22px !important;
    background: #eeece8 !important;
    box-shadow:
        0 40px 120px rgba(0, 0, 0, .46),
        0 2px 0 rgba(255, 255, 255, .12) inset !important;
    color: var(--kac-onyx) !important;
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    isolation: isolate;
    animation: kac-workspace-rise .62s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes kac-workspace-rise {
    from {
        opacity: 0;
        transform: translateY(22px) scale(.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.kac-dashboard::after {
    position: absolute;
    z-index: -1;
    top: -28%;
    right: 6%;
    width: 52%;
    aspect-ratio: 1;
    border-radius: 44% 56% 61% 39% / 48% 38% 62% 52%;
    content: "";
    pointer-events: none;
    background: radial-gradient(circle, rgba(200, 170, 97, .08), transparent 68%);
    filter: blur(12px);
    animation: kac-water-drift 18s ease-in-out infinite alternate;
}

@keyframes kac-water-drift {
    0% {
        transform: translate3d(-4%, -2%, 0) rotate(-5deg) scale(.94);
        border-radius: 44% 56% 61% 39% / 48% 38% 62% 52%;
    }
    100% {
        transform: translate3d(7%, 8%, 0) rotate(8deg) scale(1.08);
        border-radius: 57% 43% 42% 58% / 39% 55% 45% 61%;
    }
}

.kac-dashboard [hidden] {
    display: none !important;
}

.kac-dashboard *,
.kac-dashboard *::before,
.kac-dashboard *::after {
    box-sizing: border-box !important;
}

.kac-dashboard button,
.kac-dashboard input,
.kac-dashboard select,
.kac-dashboard textarea,
.kac-dashboard table {
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
}

.kac-dashboard button,
.kac-dashboard a,
.kac-dashboard input,
.kac-dashboard select,
.kac-dashboard textarea {
    -webkit-tap-highlight-color: transparent;
}

.kac-dashboard button:focus-visible,
.kac-dashboard a:focus-visible,
.kac-dashboard input:focus-visible,
.kac-dashboard select:focus-visible,
.kac-dashboard textarea:focus-visible {
    outline: 3px solid rgba(200, 170, 97, .42) !important;
    outline-offset: 2px !important;
}

body.kac-portal-page .kac-topbar {
    position: relative;
    z-index: 4;
    height: auto !important;
    min-height: 82px !important;
    padding: 0 26px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    background:
        linear-gradient(104deg, rgba(255, 255, 255, .035), transparent 34%),
        var(--kac-navy) !important;
    color: #fff !important;
}

.kac-brand {
    gap: 16px !important;
}

.kac-brand__mark {
    display: none !important;
}

.kac-brand__logo {
    width: 118px !important;
    height: 58px !important;
    display: block !important;
    object-fit: contain !important;
}

.kac-brand div {
    position: relative;
    display: grid !important;
    gap: 2px !important;
    padding-left: 17px !important;
}

.kac-brand div::before {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 0;
    width: 1px;
    content: "";
    background: linear-gradient(transparent, var(--kac-gold-light), transparent);
}

.kac-brand div span {
    color: var(--kac-gold-light) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
}

.kac-brand div strong {
    color: #fff !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}

.kac-topbar__actions {
    gap: 12px !important;
}

body.kac-portal-page .kac-alert-button {
    min-height: 40px !important;
    padding: 0 15px !important;
    border: 1px solid rgba(200, 170, 97, .42) !important;
    border-radius: 999px !important;
    background: rgba(200, 170, 97, .1) !important;
    box-shadow: none !important;
    color: #ead69e !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: none !important;
}

body.kac-portal-page .kac-alert-button:hover,
body.kac-portal-page .kac-alert-button:focus {
    border-color: var(--kac-gold-light) !important;
    background: rgba(200, 170, 97, .18) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-presence select {
    min-width: 112px !important;
    min-height: 40px !important;
    padding: 0 35px 0 14px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    background-color: rgba(255, 255, 255, .075) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 11px !important;
}

.kac-user {
    gap: 10px !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 12px !important;
}

.kac-user img {
    width: 40px !important;
    height: 40px !important;
    border: 1px solid rgba(200, 170, 97, .48) !important;
    background: rgba(255, 255, 255, .08) !important;
}

body.kac-portal-page .kac-logout {
    color: var(--kac-gold-light) !important;
    font-size: 10px !important;
    letter-spacing: .07em !important;
}

body.kac-portal-page .kac-workspace {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    overflow: hidden !important;
}

body.kac-portal-page .kac-sidebar {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 18px 11px !important;
    overflow-y: auto !important;
    border: 0 !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .025), transparent 48%),
        var(--kac-onyx) !important;
}

.kac-nav {
    flex: 1 0 auto !important;
    gap: 9px !important;
}

.kac-version-badge {
    border: 1px solid rgba(200, 170, 97, .22) !important;
    border-radius: 10px !important;
    background: rgba(200, 170, 97, .08) !important;
    color: var(--kac-gold-light) !important;
    box-shadow: none !important;
    letter-spacing: .04em !important;
}

.kac-version-badge--desktop {
    flex: none !important;
    display: grid !important;
    gap: 2px !important;
    margin-top: 14px !important;
    padding: 9px 5px !important;
    text-align: center !important;
}

.kac-version-badge--desktop small {
    color: rgba(255, 255, 255, .48) !important;
    font-size: 6px !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
}

.kac-version-badge--desktop strong {
    color: var(--kac-gold-light) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.kac-version-badge--mobile {
    display: none !important;
}

body.kac-portal-page .kac-nav button {
    min-height: 72px !important;
    gap: 4px !important;
    padding: 8px 5px !important;
    border: 1px solid transparent !important;
    border-radius: 13px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .64) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    transition: background .25s ease, border-color .25s ease, transform .25s ease !important;
}

body.kac-portal-page .kac-nav button:hover {
    border-color: rgba(200, 170, 97, .18) !important;
    background: rgba(200, 170, 97, .07) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body.kac-portal-page .kac-nav button.is-active {
    border-color: rgba(200, 170, 97, .2) !important;
    background: rgba(200, 170, 97, .13) !important;
    color: #fff !important;
}

.kac-nav button > span {
    color: var(--kac-gold-light) !important;
    font-size: 27px !important;
    line-height: 1 !important;
}

.kac-nav em {
    top: 7px !important;
    right: 8px !important;
    min-width: 20px !important;
    height: 20px !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-section {
    min-width: 0 !important;
    min-height: 0 !important;
}

body.kac-portal-page .kac-section[data-section-panel="inbox"].is-active {
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: 370px minmax(420px, 1fr) 330px !important;
    overflow: hidden !important;
    border: 0 !important;
    background: var(--kac-paper) !important;
}

body.kac-portal-page .kac-inbox,
body.kac-portal-page .kac-chat,
body.kac-portal-page .kac-details {
    height: 100% !important;
    min-height: 0 !important;
}

body.kac-portal-page .kac-inbox {
    border: 0 !important;
    border-right: 1px solid var(--kac-line) !important;
    background: #f9f7f3 !important;
}

.kac-inbox__head {
    padding: 24px 20px 16px !important;
}

body.kac-portal-page .kac-eyebrow {
    margin: 0 0 6px !important;
    color: var(--kac-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .19em !important;
    line-height: 1.3 !important;
}

body.kac-portal-page .kac-inbox h1,
body.kac-portal-page .kac-wide-section h1,
body.kac-portal-page .kac-login-card h1 {
    margin: 0 !important;
    color: var(--kac-onyx) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 39px !important;
    font-weight: 500 !important;
    line-height: .98 !important;
}

body.kac-portal-page .kac-icon-button {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(150, 118, 45, .25) !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(15, 30, 54, .06) !important;
    color: var(--kac-gold) !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

body.kac-portal-page .kac-icon-button:hover {
    border-color: var(--kac-gold) !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
    transform: rotate(20deg);
}

.kac-filters {
    grid-template-columns: minmax(0, 1fr) 132px !important;
    gap: 9px !important;
    padding: 0 14px 15px !important;
}

body.kac-portal-page .kac-filters input,
body.kac-portal-page .kac-filters select,
body.kac-portal-page .kac-field select,
body.kac-portal-page .kac-form-grid input,
body.kac-portal-page .kac-form-grid select,
body.kac-portal-page .kac-form-content textarea {
    min-height: 44px !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(28, 27, 26, .14) !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

body.kac-portal-page .kac-filters input:focus,
body.kac-portal-page .kac-filters select:focus,
body.kac-portal-page .kac-field select:focus,
body.kac-portal-page .kac-form-grid input:focus,
body.kac-portal-page .kac-form-grid select:focus,
body.kac-portal-page .kac-form-content textarea:focus,
body.kac-portal-page .kac-composer textarea:focus {
    border-color: var(--kac-gold) !important;
    box-shadow: 0 0 0 4px rgba(150, 118, 45, .1) !important;
    outline: none !important;
}

.kac-conversation-list {
    padding: 0 10px 16px !important;
    scrollbar-color: rgba(150, 118, 45, .38) transparent;
}

body.kac-portal-page .kac-conversation-card {
    width: 100% !important;
    gap: 8px !important;
    margin: 0 0 6px !important;
    padding: 15px 14px !important;
    border: 1px solid transparent !important;
    border-bottom-color: var(--kac-line) !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    text-transform: none !important;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

body.kac-portal-page .kac-conversation-card:hover,
body.kac-portal-page .kac-conversation-card.is-active {
    border-color: rgba(150, 118, 45, .16) !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(15, 30, 54, .07) !important;
    color: var(--kac-onyx) !important;
    transform: translateY(-1px);
}

body.kac-portal-page .kac-conversation-card.is-active {
    box-shadow: inset 3px 0 var(--kac-gold), 0 12px 30px rgba(15, 30, 54, .07) !important;
}

body.kac-portal-page .kac-conversation-card strong {
    color: var(--kac-onyx) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.kac-portal-page .kac-conversation-card time {
    color: #8c857e !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-conversation-card p {
    color: #665f58 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}

body.kac-portal-page .kac-conversation-card > div:last-child > span:last-of-type {
    color: #777068 !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-badge {
    min-height: 23px !important;
    padding: 4px 8px !important;
    background: rgba(150, 118, 45, .12) !important;
    color: #654d18 !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-badge--unread {
    background: var(--kac-navy) !important;
    color: #fff !important;
}

.kac-list-empty {
    font-size: 12px !important;
}

body.kac-portal-page .kac-chat {
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 18%, rgba(150, 118, 45, .075), transparent 38%),
        radial-gradient(circle at 10% 86%, rgba(15, 30, 54, .035), transparent 32%),
        var(--kac-sand) !important;
}

.kac-chat::before {
    position: absolute;
    top: 15%;
    left: 35%;
    width: 44%;
    aspect-ratio: 1.25;
    border: 1px solid rgba(150, 118, 45, .07);
    border-radius: 44% 56% 60% 40% / 42% 38% 62% 58%;
    content: "";
    pointer-events: none;
    animation: kac-chat-current 14s ease-in-out infinite alternate;
}

@keyframes kac-chat-current {
    to {
        transform: translate3d(12%, 8%, 0) rotate(9deg);
        border-radius: 58% 42% 41% 59% / 53% 61% 39% 47%;
    }
}

.kac-empty-state {
    position: relative !important;
    z-index: 1 !important;
}

.kac-empty-state > span {
    font-size: 42px !important;
}

.kac-empty-state h2 {
    margin: 12px 0 5px !important;
    color: #81786e !important;
    font-size: 31px !important;
}

.kac-empty-state p {
    color: #8b837b !important;
    font-size: 12px !important;
}

.kac-chat__active {
    position: relative !important;
    z-index: 2 !important;
    grid-template-rows: 78px minmax(0, 1fr) auto auto !important;
}

body.kac-portal-page .kac-chat__header {
    gap: 13px !important;
    padding: 12px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--kac-line) !important;
    background: rgba(255, 255, 255, .84) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
}

.kac-chat__header h2 {
    color: var(--kac-onyx) !important;
    font-size: 28px !important;
    line-height: 1.05 !important;
}

.kac-chat__header p {
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-priority {
    padding: 5px 10px !important;
    border: 1px solid var(--kac-line) !important;
    background: rgba(255, 255, 255, .65) !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

.kac-message-list {
    position: relative !important;
    z-index: 1 !important;
    padding: 24px !important;
}

.kac-message {
    max-width: 80% !important;
    margin-bottom: 17px !important;
    animation: kac-message-float .34s ease both;
}

@keyframes kac-message-float {
    from {
        opacity: 0;
        transform: translateY(7px);
    }
}

.kac-message > div {
    margin-bottom: 5px !important;
}

.kac-message strong {
    color: #6e675f !important;
    font-size: 10px !important;
}

.kac-message time {
    color: #8f8880 !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-message p {
    padding: 12px 15px !important;
    border: 1px solid rgba(28, 27, 26, .1) !important;
    border-radius: 5px 17px 17px 17px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(28, 27, 26, .045) !important;
    color: #393632 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body.kac-portal-page .kac-message.is-own p {
    border-color: var(--kac-navy) !important;
    border-radius: 17px 5px 17px 17px !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-message--ai p {
    border-left: 3px solid var(--kac-gold) !important;
}

body.kac-portal-page .kac-message.is-internal p {
    border: 1px dashed rgba(150, 118, 45, .52) !important;
    border-radius: 10px !important;
    background: #fff9e9 !important;
    color: #5f4d25 !important;
}

body.kac-portal-page .kac-ai-draft {
    margin: 0 18px 10px !important;
    padding: 14px !important;
    border: 1px solid rgba(150, 118, 45, .34) !important;
    border-radius: 13px !important;
    background: #fffcf4 !important;
}

.kac-ai-draft strong {
    font-size: 10px !important;
}

.kac-ai-draft span {
    font-size: 10px !important;
}

.kac-ai-draft p {
    font-size: 12px !important;
}

body.kac-portal-page .kac-ai-draft button,
body.kac-portal-page .kac-composer__tools button {
    min-height: 32px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(150, 118, 45, .3) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #654e1e !important;
    font-size: 10px !important;
    text-transform: none !important;
}

body.kac-portal-page .kac-ai-draft button:hover,
body.kac-portal-page .kac-composer__tools button:hover {
    background: var(--kac-navy) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-composer {
    padding: 12px 14px 14px !important;
    border: 0 !important;
    border-top: 1px solid var(--kac-line) !important;
    background: rgba(255, 255, 255, .94) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.kac-composer__tools {
    margin-bottom: 9px !important;
}

body.kac-portal-page .kac-composer__tools select {
    min-height: 33px !important;
    padding: 5px 9px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-composer textarea {
    min-height: 58px !important;
    padding: 12px 13px !important;
    border: 1px solid rgba(28, 27, 26, .13) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.kac-portal-page .kac-composer__row button,
body.kac-portal-page .kac-primary-button {
    min-height: 48px !important;
    padding: 0 20px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 10px !important;
    background: var(--kac-gold) !important;
    box-shadow: 0 10px 25px rgba(150, 118, 45, .18) !important;
    color: #fff !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-composer__row button:hover,
body.kac-portal-page .kac-primary-button:hover {
    border-color: var(--kac-navy) !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body.kac-portal-page .kac-details {
    padding: 24px 20px !important;
    border: 0 !important;
    border-left: 1px solid var(--kac-line) !important;
    background: #fff !important;
}

.kac-details__empty {
    color: var(--kac-muted) !important;
    font-size: 12px !important;
}

.kac-details h2 {
    margin: 0 0 22px !important;
    color: var(--kac-onyx) !important;
    font-size: 29px !important;
    line-height: 1.05 !important;
}

.kac-field {
    margin-bottom: 14px !important;
}

.kac-field > span,
.kac-form-grid label > span,
.kac-form-content > span {
    margin-bottom: 6px !important;
    color: #6e675f !important;
    font-size: 10px !important;
    letter-spacing: .09em !important;
}

.kac-traveller-card {
    margin-top: 23px !important;
    padding-top: 21px !important;
}

.kac-traveller-card h3 {
    margin-bottom: 14px !important;
    color: var(--kac-onyx) !important;
    font-size: 26px !important;
}

.kac-traveller-card dl {
    gap: 13px !important;
}

.kac-traveller-card dt {
    color: #8c847c !important;
    font-size: 10px !important;
}

.kac-traveller-card dd {
    color: #4c4742 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

body.kac-portal-page .kac-traveller-card a {
    color: #806320 !important;
    text-decoration-color: rgba(150, 118, 45, .35) !important;
}

body.kac-portal-page .kac-wide-section {
    height: 100% !important;
    min-height: 0 !important;
    padding: 34px !important;
    overflow: auto !important;
    background:
        radial-gradient(circle at 80% 0, rgba(150, 118, 45, .07), transparent 30%),
        var(--kac-sand) !important;
}

.kac-wide-section header {
    margin-bottom: 28px !important;
}

.kac-team-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 16px !important;
}

.kac-team-card {
    gap: 15px !important;
    padding: 20px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.kac-team-card > img {
    width: 56px !important;
    height: 56px !important;
}

.kac-team-card h3 {
    color: var(--kac-onyx) !important;
    font-size: 23px !important;
}

.kac-team-card p,
.kac-team-card strong {
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

.kac-metric-grid {
    gap: 13px !important;
}

.kac-metric-grid article {
    gap: 6px !important;
    padding: 19px !important;
    border-radius: 13px !important;
}

.kac-metric-grid strong {
    font-size: 34px !important;
}

.kac-metric-grid span {
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

.kac-report-table-wrap {
    border-color: var(--kac-line) !important;
    border-radius: 13px !important;
}

.kac-report-table th,
.kac-report-table td {
    padding: 15px 17px !important;
    border-bottom: 1px solid var(--kac-line) !important;
    color: #4a4540 !important;
    font-size: 11px !important;
}

.kac-report-table th {
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

.kac-knowledge-form {
    padding: 22px !important;
    border-radius: 14px !important;
}

.kac-form-grid {
    gap: 13px !important;
}

.kac-form-actions > button:not(.kac-primary-button) {
    min-height: 44px !important;
    padding: 0 15px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

.kac-knowledge-list {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 14px !important;
}

.kac-knowledge-card {
    padding: 19px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
}

.kac-knowledge-card h3 {
    color: var(--kac-onyx) !important;
    font-size: 24px !important;
}

.kac-knowledge-card p {
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

.kac-knowledge-card small {
    color: #817a72 !important;
    font-size: 10px !important;
}

.kac-toast-region {
    right: 28px !important;
    bottom: 28px !important;
}

.kac-toast {
    max-width: 380px !important;
    padding: 13px 16px !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 11px !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-mobile-tabs button {
    color: var(--kac-muted) !important;
}

body.kac-portal-page .kac-mobile-tabs button.is-active {
    border-color: var(--kac-gold) !important;
    color: var(--kac-navy) !important;
}

body.kac-portal-page .kac-login-shell {
    inset: 12px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: auto !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 73% 15%, rgba(200, 170, 97, .18), transparent 31%),
        radial-gradient(circle at 20% 90%, rgba(255, 255, 255, .05), transparent 28%),
        var(--kac-navy) !important;
    box-shadow: 0 40px 120px rgba(0, 0, 0, .46) !important;
    animation: kac-workspace-rise .62s cubic-bezier(.16, 1, .3, 1) both;
}

body.kac-portal-page .kac-login-card {
    width: min(480px, calc(100% - 32px)) !important;
    padding: 38px !important;
    border: 1px solid rgba(200, 170, 97, .26) !important;
    border-radius: 18px !important;
    background: var(--kac-paper) !important;
    box-shadow: 0 35px 90px rgba(0, 0, 0, .26) !important;
}

.kac-login-logo {
    width: 145px !important;
    height: 82px !important;
    display: block !important;
    margin: 0 0 18px !important;
    object-fit: contain !important;
}

.kac-login-card > p:not(.kac-eyebrow) {
    color: var(--kac-muted) !important;
    font-size: 13px !important;
}

.kac-login-card label {
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-login-card input[type="text"],
body.kac-portal-page .kac-login-card input[type="password"] {
    min-height: 48px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 13px !important;
}

body.kac-portal-page .kac-login-card input[type="submit"] {
    min-height: 50px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 10px !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-password-card small {
    display: block;
    margin-top: 7px;
    color: var(--kac-muted) !important;
    font: 500 11px/1.5 Montserrat, Arial, sans-serif !important;
}

body.kac-portal-page .kac-password-error {
    margin: 18px 0;
    padding: 12px 14px;
    border: 1px solid rgba(126, 48, 48, .25);
    border-radius: 10px;
    background: rgba(126, 48, 48, .07);
    color: #6f2929 !important;
    font: 600 12px/1.55 Montserrat, Arial, sans-serif !important;
}

body.kac-portal-page .kac-password-link {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    padding: 0 18px;
    border: 1px solid var(--kac-gold);
    border-radius: 10px;
    background: var(--kac-gold);
    color: #fff !important;
    font: 700 11px/1 Montserrat, Arial, sans-serif !important;
    letter-spacing: .06em;
    text-decoration: none !important;
    text-transform: uppercase;
}

body.kac-portal-page .kac-access-denied {
    inset: 50% auto auto 50% !important;
    width: min(520px, calc(100% - 30px)) !important;
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid rgba(200, 170, 97, .3) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font: 500 14px/1.6 Montserrat, Arial, sans-serif !important;
    transform: translate(-50%, -50%);
}

@media (max-width: 1320px) {
    body.kac-portal-page .kac-section[data-section-panel="inbox"].is-active {
        grid-template-columns: 330px minmax(380px, 1fr) 290px !important;
    }

    .kac-brand__logo {
        width: 105px !important;
    }

    .kac-brand div strong {
        font-size: 20px !important;
    }
}

@media (max-width: 1040px) {
    body.kac-portal-page .kac-dashboard {
        inset: 7px !important;
        grid-template-rows: 70px 50px minmax(0, 1fr) !important;
        border-radius: 17px !important;
    }

    body.kac-portal-page .kac-topbar {
        min-height: 70px !important;
        padding: 0 15px !important;
    }

    .kac-brand__logo {
        width: 92px !important;
        height: 48px !important;
    }

    .kac-brand div {
        display: none !important;
    }

    .kac-user span,
    body.kac-portal-page .kac-logout {
        display: none !important;
    }

    body.kac-portal-page .kac-alert-button {
        width: 40px !important;
        padding: 0 !important;
        overflow: hidden !important;
        font-size: 0 !important;
    }

    body.kac-portal-page .kac-alert-button::before {
        content: "●";
        color: var(--kac-gold-light);
        font-size: 13px;
    }

    body.kac-portal-page .kac-presence select {
        min-width: 104px !important;
    }

    body.kac-portal-page .kac-workspace {
        min-height: 0 !important;
        display: block !important;
        overflow: hidden !important;
    }

    body.kac-portal-page .kac-sidebar {
        display: none !important;
    }

    body.kac-portal-page .kac-version-badge--mobile {
        min-height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 4px 8px !important;
        border-radius: 999px !important;
        font-size: 8px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

    body.kac-portal-page .kac-mobile-tabs {
        height: 50px !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        border: 0 !important;
        border-bottom: 1px solid var(--kac-line) !important;
        background: #fff !important;
    }

    body.kac-portal-page .kac-mobile-tabs button {
        border: 0 !important;
        border-bottom: 2px solid transparent !important;
        background: #fff !important;
        box-shadow: none !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: none !important;
    }

    body.kac-portal-page .kac-mobile-tabs button.is-active {
        border-bottom-color: var(--kac-gold) !important;
        background: #fff !important;
    }

    body.kac-portal-page .kac-section[data-section-panel="inbox"].is-active {
        height: 100% !important;
        display: block !important;
    }

    body.kac-portal-page .kac-inbox,
    body.kac-portal-page .kac-chat,
    body.kac-portal-page .kac-details {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    body.kac-portal-page .kac-dashboard:not([data-mobile-panel]) [data-mobile-region="chat"],
    body.kac-portal-page .kac-dashboard:not([data-mobile-panel]) [data-mobile-region="details"],
    body.kac-portal-page .kac-dashboard[data-mobile-panel="inbox"] [data-mobile-region="chat"],
    body.kac-portal-page .kac-dashboard[data-mobile-panel="inbox"] [data-mobile-region="details"],
    body.kac-portal-page .kac-dashboard[data-mobile-panel="chat"] [data-mobile-region="inbox"],
    body.kac-portal-page .kac-dashboard[data-mobile-panel="chat"] [data-mobile-region="details"],
    body.kac-portal-page .kac-dashboard[data-mobile-panel="details"] [data-mobile-region="inbox"],
    body.kac-portal-page .kac-dashboard[data-mobile-panel="details"] [data-mobile-region="chat"] {
        display: none !important;
    }

    body.kac-portal-page .kac-back {
        width: 38px !important;
        height: 38px !important;
        display: inline-grid !important;
        place-items: center !important;
        border: 1px solid var(--kac-line) !important;
        border-radius: 50% !important;
        background: #fff !important;
        color: var(--kac-navy) !important;
        font-size: 25px !important;
    }

    body.kac-portal-page .kac-wide-section {
        height: 100% !important;
        padding: 24px 18px !important;
    }
}

@media (max-width: 580px) {
    body.kac-portal-page .kac-dashboard,
    body.kac-portal-page .kac-login-shell {
        inset: 4px !important;
        border-radius: 14px !important;
    }

    .kac-topbar__actions {
        gap: 7px !important;
    }

    .kac-brand__logo {
        width: 78px !important;
        height: 44px !important;
    }

    body.kac-portal-page .kac-presence select {
        min-width: 90px !important;
        width: 90px !important;
        padding-left: 10px !important;
        font-size: 10px !important;
    }

    .kac-user img {
        width: 36px !important;
        height: 36px !important;
    }

    .kac-inbox__head {
        padding: 19px 16px 14px !important;
    }

    body.kac-portal-page .kac-inbox h1,
    body.kac-portal-page .kac-wide-section h1 {
        font-size: 35px !important;
    }

    .kac-filters {
        grid-template-columns: minmax(0, 1fr) 116px !important;
        padding-inline: 10px !important;
    }

    body.kac-portal-page .kac-conversation-card {
        padding: 14px 12px !important;
    }

    .kac-message-list {
        padding: 17px !important;
    }

    .kac-message {
        max-width: 90% !important;
    }

    .kac-chat__header h2 {
        font-size: 25px !important;
    }

    body.kac-portal-page .kac-composer {
        padding: 10px !important;
    }

    body.kac-portal-page .kac-composer textarea {
        min-height: 52px !important;
    }

    body.kac-portal-page .kac-composer__row button {
        min-height: 48px !important;
        padding: 0 15px !important;
    }

    body.kac-portal-page .kac-details {
        padding: 22px 18px !important;
    }

    body.kac-portal-page .kac-login-card {
        padding: 28px 22px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kac-dashboard,
    .kac-dashboard::after,
    .kac-chat::before,
    .kac-message {
        animation: none !important;
    }
}

/* KAPICO Concierge 0.3.0: top-level mounting and staff access management */
html.kac-portal-mounted,
html.kac-portal-mounted body.kac-portal-page {
    overflow: hidden !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
}

body.kac-portal-page::before {
    z-index: 2147482800 !important;
}

body.kac-portal-page .kac-dashboard,
body.kac-portal-page .kac-login-shell,
body.kac-portal-page .kac-access-denied {
    z-index: 2147483000 !important;
}

.kac-dashboard .kac-toast-region {
    z-index: 2147483100 !important;
}

.kac-users-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.kac-users-head > div {
    min-width: 0 !important;
}

.kac-users-head > div > p:last-child {
    max-width: 690px !important;
    margin: 12px 0 0 !important;
    color: var(--kac-muted) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

.kac-user-create {
    margin: 0 0 22px !important;
    padding: 23px !important;
    border: 1px solid rgba(150, 118, 45, .24) !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(150, 118, 45, .075), transparent 32%),
        #fff !important;
    box-shadow: 0 16px 45px rgba(15, 30, 54, .065) !important;
    animation: kac-message-float .35s ease both;
}

.kac-user-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.kac-user-password-field {
    grid-column: span 2 !important;
}

.kac-user-email-option {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    align-self: end !important;
    gap: 10px !important;
    grid-column: span 2 !important;
    padding: 8px 11px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 10px !important;
    background: var(--kac-sand) !important;
    cursor: pointer !important;
}

body.kac-portal-page .kac-user-email-option input {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--kac-gold) !important;
}

.kac-user-email-option > span {
    margin: 0 !important;
    color: #56504a !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.45 !important;
    text-transform: none !important;
}

.kac-user-form-note {
    margin: 14px 0 0 !important;
    color: #777068 !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
}

.kac-user-result {
    position: relative !important;
    margin: 0 0 22px !important;
    padding: 18px 155px 18px 19px !important;
    border: 1px solid rgba(50, 122, 85, .25) !important;
    border-radius: 14px !important;
    background: rgba(50, 122, 85, .075) !important;
    color: #244f3a !important;
}

.kac-user-result > strong {
    display: block !important;
    margin-bottom: 5px !important;
    color: #1d4532 !important;
    font-size: 13px !important;
}

.kac-user-result > p {
    margin: 0 !important;
    color: #4b6858 !important;
    font-size: 11px !important;
}

.kac-user-result > div {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin-top: 12px !important;
}

.kac-user-result code {
    min-width: 220px !important;
    padding: 9px 11px !important;
    border: 1px solid rgba(50, 122, 85, .2) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #1c3d2d !important;
    font: 700 12px/1.3 "Courier New", monospace !important;
    user-select: all !important;
}

body.kac-portal-page .kac-user-result button {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(50, 122, 85, .28) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #28543e !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

body.kac-portal-page .kac-user-result button:hover {
    border-color: var(--kac-navy) !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-user-result .kac-user-result__close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
}

.kac-users-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
    gap: 16px !important;
}

.kac-staff-user-card {
    min-width: 0 !important;
    padding: 20px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 15px 42px rgba(15, 30, 54, .06) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

.kac-staff-user-card:hover {
    box-shadow: 0 20px 52px rgba(15, 30, 54, .09) !important;
    transform: translateY(-2px);
}

.kac-staff-user-card__head,
.kac-staff-user-card__identity {
    display: flex !important;
    align-items: center !important;
}

.kac-staff-user-card__head {
    justify-content: space-between !important;
    gap: 14px !important;
}

.kac-staff-user-card__identity {
    min-width: 0 !important;
    gap: 12px !important;
}

.kac-staff-user-card__identity img {
    width: 52px !important;
    height: 52px !important;
    display: block !important;
    flex: none !important;
    border: 2px solid rgba(150, 118, 45, .25) !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

.kac-staff-user-card__identity > div {
    min-width: 0 !important;
}

.kac-staff-user-card h3 {
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--kac-onyx) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-staff-user-card__identity p {
    margin: 4px 0 0 !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-staff-user-card .kac-badge {
    flex: none !important;
    background: rgba(15, 30, 54, .07) !important;
    color: var(--kac-navy) !important;
}

body.kac-portal-page .kac-staff-user-card .kac-badge--admin {
    background: rgba(150, 118, 45, .13) !important;
    color: #654e1e !important;
}

.kac-staff-user-card__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
}

body.kac-portal-page .kac-staff-user-card .kac-badge--disabled {
    background: rgba(126, 48, 48, .1) !important;
    color: #7e3030 !important;
}

.kac-staff-user-card dl {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px 16px !important;
    margin: 19px 0 !important;
    padding: 17px 0 !important;
    border-top: 1px solid var(--kac-line) !important;
    border-bottom: 1px solid var(--kac-line) !important;
}

.kac-staff-user-card dt {
    color: #8b847c !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.kac-staff-user-card dd {
    overflow-wrap: anywhere !important;
    margin: 3px 0 0 !important;
    color: #4e4944 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.kac-staff-user-card__controls label,
.kac-staff-user-card__controls label > span {
    display: block !important;
}

.kac-staff-user-card__controls {
    display: grid !important;
    gap: 10px !important;
}

.kac-staff-user-card__controls label > span {
    margin: 0 0 6px !important;
    color: #706961 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.kac-portal-page .kac-staff-user-card__controls select {
    width: 100% !important;
    min-height: 43px !important;
    padding: 8px 34px 8px 11px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 9px !important;
    background-color: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-staff-user-card__controls select:disabled {
    background-color: #f1efeb !important;
    color: #7e776f !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

body.kac-portal-page .kac-user-invite-button {
    min-height: 43px !important;
    padding: 8px 14px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #72591f !important;
    cursor: pointer !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

body.kac-portal-page .kac-user-invite-button:hover,
body.kac-portal-page .kac-user-invite-button:focus {
    background: var(--kac-gold) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-user-invite-button:disabled {
    cursor: wait !important;
    opacity: .58 !important;
}

body.kac-portal-page .kac-user-status-button {
    min-height: 43px !important;
    padding: 8px 14px !important;
    border: 1px solid rgba(126, 48, 48, .32) !important;
    border-radius: 9px !important;
    background: rgba(126, 48, 48, .04) !important;
    color: #7e3030 !important;
    cursor: pointer !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

body.kac-portal-page .kac-user-status-button.is-enable {
    border-color: rgba(150, 118, 45, .45) !important;
    background: rgba(150, 118, 45, .07) !important;
    color: #72591f !important;
}

body.kac-portal-page .kac-user-status-button:hover,
body.kac-portal-page .kac-user-status-button:focus {
    background: #7e3030 !important;
    color: #fff !important;
}

body.kac-portal-page .kac-user-status-button.is-enable:hover,
body.kac-portal-page .kac-user-status-button.is-enable:focus {
    background: var(--kac-gold) !important;
}

body.kac-portal-page .kac-user-status-button:disabled {
    cursor: wait !important;
    opacity: .58 !important;
}

@media (max-width: 1040px) {
    .kac-users-head {
        align-items: flex-start !important;
    }

    body.kac-portal-page .kac-mobile-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .kac-mobile-section-switcher {
        min-width: 0 !important;
        display: block !important;
        margin: 0 !important;
    }

    body.kac-portal-page .kac-mobile-section-switcher select {
        width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 24px 0 9px !important;
        border: 0 !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
        background-color: #fff !important;
        box-shadow: none !important;
        color: var(--kac-muted) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        text-align: center !important;
    }

    body.kac-portal-page .kac-mobile-section-switcher select:focus {
        border-bottom-color: var(--kac-gold) !important;
        outline: none !important;
    }

    .kac-user-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .kac-users-head {
        display: grid !important;
    }

    .kac-users-head .kac-primary-button {
        width: 100% !important;
    }

    .kac-user-create {
        padding: 18px 15px !important;
    }

    .kac-user-form-grid {
        grid-template-columns: 1fr !important;
    }

    .kac-user-password-field,
    .kac-user-email-option {
        grid-column: auto !important;
    }

    .kac-user-result {
        padding: 17px !important;
    }

    body.kac-portal-page .kac-user-result .kac-user-result__close {
        position: static !important;
        margin-top: 12px !important;
    }

    .kac-user-result > div {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .kac-user-result code {
        min-width: 0 !important;
        width: 100% !important;
    }

    .kac-users-list {
        grid-template-columns: 1fr !important;
    }

    .kac-staff-user-card {
        padding: 17px !important;
    }
}

/* KAPICO Concierge 0.4.0: management monitoring and outcomes */
body.kac-portal-page .kac-message--visitor:not(.is-internal) p {
    border-color: var(--kac-gold) !important;
    border-radius: 5px 17px 17px 17px !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-message--agent:not(.is-internal) p,
body.kac-portal-page .kac-message--ai:not(.is-internal) p {
    border-color: var(--kac-onyx) !important;
    background: var(--kac-onyx) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-message--ai:not(.is-internal) p {
    border-left: 3px solid var(--kac-gold-light) !important;
}

.kac-outcome-form {
    margin-top: 24px !important;
    padding-top: 21px !important;
    border-top: 1px solid var(--kac-line) !important;
}

.kac-outcome-form h3 {
    margin: 0 0 16px !important;
    color: var(--kac-onyx) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
}

body.kac-portal-page .kac-outcome-form input,
body.kac-portal-page .kac-outcome-form select,
body.kac-portal-page .kac-outcome-form textarea {
    width: 100% !important;
    min-height: 42px !important;
    padding: 9px 10px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-outcome-form textarea {
    min-height: 76px !important;
    resize: vertical !important;
}

.kac-outcome-form__row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 86px 68px !important;
    gap: 7px !important;
}

.kac-outcome-form .kac-primary-button {
    width: 100% !important;
    min-height: 45px !important;
}

.kac-management-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 22px !important;
}

.kac-management-head > div > p:last-child {
    max-width: 730px !important;
    margin: 11px 0 0 !important;
    color: var(--kac-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.kac-monitor-metrics {
    margin-bottom: 16px !important;
}

.kac-monitor-filters {
    display: grid !important;
    grid-template-columns: minmax(210px, 1.7fr) repeat(3, minmax(120px, .8fr)) minmax(120px, .75fr) minmax(120px, .75fr) !important;
    gap: 9px !important;
    margin-bottom: 16px !important;
}

body.kac-portal-page .kac-monitor-filters input,
body.kac-portal-page .kac-monitor-filters select {
    width: 100% !important;
    min-height: 43px !important;
    padding: 8px 11px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 9px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

.kac-monitor-layout {
    height: calc(100% - 226px) !important;
    min-height: 430px !important;
    display: grid !important;
    grid-template-columns: 350px minmax(0, 1fr) !important;
    overflow: hidden !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 18px 55px rgba(15, 30, 54, .065) !important;
}

.kac-monitor-list {
    min-width: 0 !important;
    overflow-y: auto !important;
    padding: 10px !important;
    border-right: 1px solid var(--kac-line) !important;
    background: #f8f6f2 !important;
}

body.kac-portal-page .kac-monitor-card {
    width: 100% !important;
    display: grid !important;
    gap: 7px !important;
    margin: 0 0 7px !important;
    padding: 14px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    text-align: left !important;
    text-transform: none !important;
}

body.kac-portal-page .kac-monitor-card:hover,
body.kac-portal-page .kac-monitor-card.is-active {
    border-color: rgba(150, 118, 45, .2) !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 30, 54, .07) !important;
}

body.kac-portal-page .kac-monitor-card.is-active {
    box-shadow: inset 3px 0 var(--kac-gold), 0 10px 28px rgba(15, 30, 54, .07) !important;
}

.kac-monitor-card > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

.kac-monitor-card strong {
    overflow: hidden !important;
    color: var(--kac-onyx) !important;
    font-size: 12px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-monitor-card time,
.kac-monitor-card > div:last-child > span:last-child {
    flex: none !important;
    color: #817a72 !important;
    font-size: 9px !important;
}

.kac-monitor-card p {
    overflow: hidden !important;
    margin: 0 !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-monitor-card > div:last-child {
    justify-content: flex-start !important;
}

.kac-monitor-card > div:last-child > span:last-child {
    margin-left: auto !important;
}

.kac-monitor-detail {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 70% 0, rgba(150, 118, 45, .07), transparent 30%),
        var(--kac-sand) !important;
}

.kac-monitor-empty {
    height: 100% !important;
    display: grid !important;
    place-content: center !important;
    justify-items: center !important;
    padding: 30px !important;
    color: var(--kac-muted) !important;
    text-align: center !important;
}

.kac-monitor-empty > span {
    color: var(--kac-gold) !important;
    font-size: 38px !important;
}

.kac-monitor-empty h2 {
    margin: 10px 0 5px !important;
    color: #776f67 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 29px !important;
    font-weight: 500 !important;
}

.kac-monitor-empty p {
    margin: 0 !important;
    font-size: 11px !important;
}

.kac-monitor-active {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto 42px minmax(0, 1fr) !important;
}

.kac-monitor-detail__head {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 14px 17px !important;
    border-bottom: 1px solid var(--kac-line) !important;
    background: rgba(255, 255, 255, .9) !important;
}

.kac-monitor-detail__head > div:nth-child(2) {
    min-width: 0 !important;
    flex: 1 !important;
}

.kac-monitor-detail__head h2 {
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--kac-onyx) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 27px !important;
    font-weight: 600 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-monitor-detail__head p {
    margin: 3px 0 0 !important;
    overflow: hidden !important;
    color: var(--kac-muted) !important;
    font-size: 9px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-monitor-actions {
    display: flex !important;
    gap: 7px !important;
}

body.kac-portal-page .kac-monitor-actions button {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #70551d !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

body.kac-portal-page .kac-monitor-actions button:last-child {
    background: var(--kac-gold) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-monitor-actions button:hover {
    border-color: var(--kac-onyx) !important;
    background: var(--kac-onyx) !important;
    color: #fff !important;
}

body.kac-portal-page .kac-monitor-actions button:disabled {
    border-color: var(--kac-line) !important;
    background: #efede9 !important;
    color: #99918a !important;
    cursor: not-allowed !important;
}

.kac-monitor-summary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px !important;
    padding: 1px 0 !important;
    border-bottom: 1px solid var(--kac-line) !important;
    background: var(--kac-line) !important;
}

.kac-monitor-summary > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
    padding: 10px 12px !important;
    background: #fff !important;
}

.kac-monitor-summary span {
    color: #8a837b !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

.kac-monitor-summary strong {
    overflow-wrap: anywhere !important;
    color: #403c38 !important;
    font-size: 10px !important;
}

.kac-monitor-tabs {
    display: flex !important;
    gap: 5px !important;
    padding: 6px 13px 0 !important;
    border-bottom: 1px solid var(--kac-line) !important;
    background: #fff !important;
}

body.kac-portal-page .kac-monitor-tabs button {
    padding: 0 10px 7px !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--kac-muted) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

body.kac-portal-page .kac-monitor-tabs button.is-active {
    border-bottom-color: var(--kac-gold) !important;
    color: var(--kac-navy) !important;
}

.kac-monitor-transcript,
.kac-monitor-audit {
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 18px !important;
}

.kac-monitor-transcript .kac-message {
    max-width: 82% !important;
}

.kac-monitor-audit article {
    position: relative !important;
    display: grid !important;
    gap: 3px !important;
    margin-left: 8px !important;
    padding: 0 0 16px 18px !important;
    border-left: 1px solid rgba(150, 118, 45, .28) !important;
}

.kac-monitor-audit article::before {
    position: absolute !important;
    top: 3px !important;
    left: -4px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    content: "" !important;
    background: var(--kac-gold) !important;
}

.kac-monitor-audit strong {
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

.kac-monitor-audit span {
    color: var(--kac-muted) !important;
    font-size: 9px !important;
}

.kac-monitor-back {
    display: none !important;
}

@media (max-width: 1320px) {
    .kac-monitor-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .kac-monitor-layout {
        height: calc(100% - 272px) !important;
        grid-template-columns: 320px minmax(0, 1fr) !important;
    }
}

@media (max-width: 1040px) {
    .kac-management-head {
        align-items: flex-start !important;
    }

    .kac-monitor-layout {
        height: calc(100% - 274px) !important;
        display: block !important;
    }

    .kac-monitor-list {
        height: 100% !important;
        border-right: 0 !important;
    }

    .kac-monitor-detail {
        display: none !important;
        height: 100% !important;
    }

    .kac-dashboard.kac-monitor-detail-open .kac-monitor-list {
        display: none !important;
    }

    .kac-dashboard.kac-monitor-detail-open .kac-monitor-detail {
        display: block !important;
    }

    .kac-monitor-back {
        display: inline-grid !important;
    }
}

@media (max-width: 680px) {
    .kac-management-head {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
    }

    .kac-monitor-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kac-monitor-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kac-monitor-layout {
        height: calc(100% - 390px) !important;
        min-height: 360px !important;
    }

    .kac-monitor-detail__head {
        flex-wrap: wrap !important;
    }

    .kac-monitor-actions {
        width: 100% !important;
        padding-left: 51px !important;
    }

    .kac-monitor-actions button {
        flex: 1 !important;
    }

    .kac-monitor-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kac-monitor-transcript .kac-message {
        max-width: 92% !important;
    }
}

/* KAPICO Concierge 0.4.3: customer-facing staff identity */
.kac-user > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

.kac-user > div > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.kac-portal-page .kac-user [data-kac-public-name-open] {
    max-width: 180px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--kac-gold-light) !important;
    cursor: pointer !important;
    text-align: left !important;
}

.kac-user [data-kac-public-name-open] small {
    flex: none !important;
    color: rgba(255, 255, 255, .5) !important;
    font-size: 8px !important;
    font-weight: 600 !important;
}

.kac-user [data-kac-public-name-open] strong {
    overflow: hidden !important;
    color: var(--kac-gold-light) !important;
    font-size: 9px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-public-name-modal[hidden] {
    display: none !important;
}

.kac-public-name-modal {
    position: fixed !important;
    z-index: 1000050 !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 20px !important;
    background: rgba(7, 16, 30, .62) !important;
    -webkit-backdrop-filter: blur(18px) saturate(.75);
    backdrop-filter: blur(18px) saturate(.75);
}

.kac-public-name-card {
    position: relative !important;
    width: min(520px, 100%) !important;
    padding: 35px !important;
    border: 1px solid rgba(150, 118, 45, .3) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 92% 0, rgba(150, 118, 45, .12), transparent 34%),
        #fff !important;
    box-shadow: 0 35px 100px rgba(0, 0, 0, .34) !important;
    animation: kac-workspace-rise .42s cubic-bezier(.16, 1, .3, 1) both;
}

.kac-public-name-card h2 {
    margin: 4px 0 9px !important;
    color: var(--kac-onyx) !important;
    font: 600 34px/1.05 "Cormorant Garamond", Georgia, serif !important;
}

.kac-public-name-card > p:not(.kac-eyebrow) {
    margin: 0 0 21px !important;
    color: var(--kac-muted) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

body.kac-portal-page .kac-public-name-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    cursor: pointer !important;
    font-size: 22px !important;
}

.kac-public-name-card label > span,
.kac-user-public-name-control > span {
    display: block !important;
    margin-bottom: 6px !important;
    color: #706961 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.kac-portal-page .kac-public-name-card input,
body.kac-portal-page .kac-user-public-name-control input {
    width: 100% !important;
    min-height: 47px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 13px !important;
}

body.kac-portal-page .kac-public-name-card input:disabled {
    background: #f1efeb !important;
    color: #665f57 !important;
}

.kac-public-name-status {
    margin: 9px 0 17px !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

.kac-user-public-name-control {
    padding: 12px !important;
    border: 1px solid rgba(150, 118, 45, .18) !important;
    border-radius: 10px !important;
    background: rgba(150, 118, 45, .045) !important;
}

.kac-user-public-name-control > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
}

body.kac-portal-page .kac-user-public-name-control button {
    min-height: 43px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 9px !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

body.kac-portal-page .kac-user-public-name-control .kac-user-public-name-unlock {
    width: 100% !important;
    min-height: 36px !important;
    margin-top: 7px !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #72591f !important;
    text-align: left !important;
}

@media (max-width: 1040px) {
    .kac-user [data-kac-public-name-open] small {
        display: none !important;
    }

    .kac-user [data-kac-public-name-open] strong {
        max-width: 105px !important;
    }
}

@media (max-width: 580px) {
    body.kac-portal-page .kac-user [data-kac-public-name-open] {
        width: 31px !important;
        height: 31px !important;
        display: grid !important;
        place-items: center !important;
        border: 1px solid rgba(200, 170, 97, .42) !important;
        border-radius: 50% !important;
    }

    .kac-user [data-kac-public-name-open] strong {
        display: none !important;
    }

    .kac-user [data-kac-public-name-open]::before {
        content: "ID";
        color: var(--kac-gold-light);
        font-size: 8px;
        font-weight: 700;
    }

    .kac-public-name-card {
        padding: 30px 22px !important;
        border-radius: 16px !important;
    }

    .kac-public-name-card h2 {
        padding-right: 30px !important;
        font-size: 29px !important;
    }
}

/* KAPICO Concierge 0.5.0: collaboration, service revenue and reporting */
body.kac-portal-page .kac-composer__tools {
    flex-wrap: wrap !important;
    gap: 8px !important;
}

body.kac-portal-page .kac-handover-agent {
    min-width: min(260px, 100%) !important;
    margin-left: auto !important;
}

body.kac-portal-page .kac-handover-agent select {
    width: 100% !important;
    border-color: rgba(150, 118, 45, .42) !important;
    background: #fff9e9 !important;
    color: #59461d !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-message.is-handover p {
    border-style: solid !important;
    border-color: rgba(150, 118, 45, .5) !important;
    background:
        linear-gradient(110deg, rgba(150, 118, 45, .11), transparent 70%),
        #fffaf0 !important;
    box-shadow: 0 10px 28px rgba(150, 118, 45, .1) !important;
}

.kac-client-tags,
.kac-service-ledger,
.kac-customer-feedback,
.kac-outcome-form {
    margin-top: 22px !important;
    padding-top: 19px !important;
    border-top: 1px solid var(--kac-line) !important;
}

.kac-detail-section-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.kac-detail-section-head h3,
.kac-customer-feedback h3,
.kac-outcome-form h3 {
    margin: 2px 0 0 !important;
    color: var(--kac-onyx) !important;
    font: 600 22px/1.05 "Cormorant Garamond", Georgia, serif !important;
}

.kac-detail-help {
    margin: 6px 0 11px !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

body.kac-portal-page .kac-small-button {
    min-height: 31px !important;
    flex: none !important;
    padding: 6px 10px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #735920 !important;
    cursor: pointer !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

.kac-tag-picker {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

body.kac-portal-page .kac-client-tag {
    min-height: 30px !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(28, 27, 26, .13) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #625d56 !important;
    cursor: pointer !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body.kac-portal-page .kac-client-tag.is-active {
    border-color: var(--kac-gold) !important;
    background: var(--kac-gold) !important;
    box-shadow: 0 6px 17px rgba(150, 118, 45, .2) !important;
    color: #fff !important;
}

.kac-service-totals {
    display: grid !important;
    gap: 7px !important;
    margin: 12px 0 !important;
}

.kac-service-totals > p {
    margin: 0 !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

.kac-service-totals article {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 3px 9px !important;
    padding: 10px !important;
    border: 1px solid rgba(150, 118, 45, .18) !important;
    border-radius: 10px !important;
    background: rgba(150, 118, 45, .055) !important;
}

.kac-service-totals strong {
    grid-row: span 2 !important;
    align-self: center !important;
    color: var(--kac-gold) !important;
    font: 700 13px/1 Montserrat, Arial, sans-serif !important;
}

.kac-service-totals span {
    color: var(--kac-onyx) !important;
    font-size: 10px !important;
    font-weight: 650 !important;
}

.kac-service-totals small {
    grid-column: 1 / -1 !important;
    color: var(--kac-muted) !important;
    font-size: 8px !important;
}

.kac-service-form[hidden] {
    display: none !important;
}

.kac-service-form {
    margin: 12px 0 !important;
    padding: 13px !important;
    border: 1px solid rgba(150, 118, 45, .32) !important;
    border-radius: 12px !important;
    background: #fffaf0 !important;
}

.kac-service-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

.kac-service-form-grid label > span {
    display: block !important;
    margin-bottom: 4px !important;
    color: #706961 !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.kac-service-form-grid .kac-service-wide {
    grid-column: 1 / -1 !important;
}

body.kac-portal-page .kac-service-form input,
body.kac-portal-page .kac-service-form select,
body.kac-portal-page .kac-service-form textarea {
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 8px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 10px !important;
}

.kac-profit-preview {
    margin: 9px 0 0 !important;
    color: #6f5724 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.kac-service-list {
    display: grid !important;
    gap: 8px !important;
}

.kac-service-card {
    position: relative !important;
    padding: 11px !important;
    border: 1px solid var(--kac-line) !important;
    border-left: 3px solid var(--kac-gold) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.kac-service-card.is-cancelled {
    opacity: .62 !important;
    border-left-color: #8d8780 !important;
}

.kac-service-card > div:first-child {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

.kac-service-card strong {
    font-size: 10px !important;
    line-height: 1.45 !important;
}

.kac-service-card > p {
    margin: 5px 0 8px !important;
    color: var(--kac-muted) !important;
    font-size: 8px !important;
}

.kac-service-card__money {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 9px !important;
    padding-right: 38px !important;
    color: #564a2f !important;
    font-size: 9px !important;
    font-weight: 650 !important;
}

body.kac-portal-page .kac-service-card > button {
    position: absolute !important;
    right: 9px !important;
    bottom: 8px !important;
    padding: 3px 5px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--kac-gold) !important;
    cursor: pointer !important;
    font-size: 8px !important;
    font-weight: 700 !important;
}

.kac-customer-feedback {
    padding: 15px !important;
    border: 1px solid rgba(150, 118, 45, .25) !important;
    border-radius: 11px !important;
    background:
        radial-gradient(circle at 95% 0, rgba(150, 118, 45, .12), transparent 42%),
        #fff !important;
}

.kac-customer-feedback > p:last-child {
    margin: 8px 0 0 !important;
    color: #5d5750 !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

.kac-revenue-report__head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

.kac-revenue-report__head h1 {
    margin: 3px 0 5px !important;
    font: 600 38px/1.05 "Cormorant Garamond", Georgia, serif !important;
}

.kac-revenue-report__head > div > p:last-child {
    margin: 0 !important;
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

.kac-report-actions {
    display: flex !important;
    gap: 8px !important;
}

body.kac-portal-page .kac-report-actions > button:not(.kac-primary-button) {
    min-height: 42px !important;
    padding: 0 15px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    cursor: pointer !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.kac-report-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
    padding: 13px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .76) !important;
}

.kac-report-filters label {
    display: grid !important;
    gap: 4px !important;
}

.kac-report-filters span {
    color: var(--kac-muted) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.kac-portal-page .kac-report-filters input {
    min-height: 39px !important;
    padding: 7px 10px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

.kac-revenue-report .kac-metric-grid {
    grid-template-columns: repeat(4, minmax(145px, 1fr)) !important;
}

.kac-report-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr) !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

.kac-report-card {
    min-width: 0 !important;
    padding: 17px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 12px 38px rgba(28, 27, 26, .045) !important;
}

.kac-report-card h2 {
    margin: 0 0 13px !important;
    font: 600 25px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-report-card .kac-report-table-wrap {
    border: 0 !important;
}

.kac-service-mix {
    display: grid !important;
    gap: 13px !important;
    color: var(--kac-muted) !important;
    font-size: 10px !important;
}

.kac-service-mix article > div:first-child {
    display: grid !important;
    gap: 3px !important;
}

.kac-service-mix strong {
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
}

.kac-service-mix article > div:last-child {
    height: 6px !important;
    margin-top: 7px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #eee9df !important;
}

.kac-service-mix article > div:last-child span {
    height: 100% !important;
    display: block !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, var(--kac-gold), var(--kac-gold-light)) !important;
}

.kac-inquiry-report-card {
    margin-bottom: 24px !important;
}

.kac-inquiry-report {
    min-width: 1080px !important;
}

.kac-revenue-report .kac-report-table th,
.kac-revenue-report .kac-report-table td {
    padding: 11px 12px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    vertical-align: top !important;
}

@media (max-width: 1180px) {
    .kac-report-columns {
        grid-template-columns: 1fr !important;
    }

    .kac-revenue-report .kac-metric-grid {
        grid-template-columns: repeat(2, minmax(145px, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .kac-service-form-grid {
        grid-template-columns: 1fr !important;
    }

    .kac-service-form-grid .kac-service-wide {
        grid-column: auto !important;
    }

    .kac-revenue-report__head {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .kac-report-actions > button {
        flex: 1 !important;
    }

    .kac-revenue-report .kac-metric-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .kac-report-card {
        padding: 13px !important;
    }
}

/* KAPICO Concierge 0.5.1: multi-specialist teamwork and live presence */
.kac-chat__active {
    grid-template-rows: 78px minmax(0, 1fr) auto auto auto auto !important;
}

.kac-staff-typing[hidden],
.kac-history-access[hidden],
.kac-collaborator-form[hidden] {
    display: none !important;
}

.kac-staff-typing {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 20px 10px !important;
    padding: 8px 13px !important;
    border: 1px solid rgba(150, 118, 45, .2) !important;
    border-radius: 18px 18px 18px 6px !important;
    background: rgba(255, 253, 249, .92) !important;
    box-shadow: 0 9px 25px rgba(28, 27, 26, .045) !important;
    color: #6e6457 !important;
    font-size: 11px !important;
}

.kac-typing-orbit {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.kac-typing-orbit i {
    width: 7px !important;
    height: 7px !important;
    display: block !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, var(--kac-gold-light), var(--kac-gold)) !important;
    animation: kac-typing-pearl 1.15s ease-in-out infinite;
}

.kac-typing-orbit i:nth-child(2) {
    animation-delay: .14s;
}

.kac-typing-orbit i:nth-child(3) {
    animation-delay: .28s;
}

@keyframes kac-typing-pearl {
    0%, 60%, 100% { opacity: .38; transform: translateY(0) scale(.82); }
    30% { opacity: 1; transform: translateY(-4px) scale(1); }
}

.kac-history-access {
    display: grid !important;
    gap: 3px !important;
    margin: 0 18px 11px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(150, 118, 45, .27) !important;
    border-radius: 11px !important;
    background:
        linear-gradient(105deg, rgba(150, 118, 45, .09), transparent 72%),
        #fffdf8 !important;
    color: #6d5a2d !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

.kac-history-access strong {
    color: #4f4020 !important;
    font-size: 11px !important;
}

.kac-composer.is-read-only {
    opacity: .68 !important;
}

.kac-collaboration {
    margin-top: 22px !important;
    padding-top: 19px !important;
    border-top: 1px solid var(--kac-line) !important;
}

.kac-collaborator-list {
    display: grid !important;
    gap: 8px !important;
}

.kac-collaborator-card {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px !important;
    border: 1px solid rgba(28, 27, 26, .09) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(110deg, rgba(150, 118, 45, .055), transparent 70%),
        #fff !important;
    box-shadow: 0 8px 24px rgba(28, 27, 26, .035) !important;
}

.kac-collaborator-card > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

.kac-collaborator-card strong {
    overflow: hidden !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-collaborator-card span,
.kac-collaborator-card small {
    color: var(--kac-muted) !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
}

.kac-live-mark {
    position: relative !important;
    width: 11px !important;
    height: 11px !important;
    display: block !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: #8d918f !important;
    box-shadow: 0 0 0 2px rgba(141, 145, 143, .18) !important;
}

.kac-live-mark.is-online {
    background: #4fb878 !important;
    box-shadow: 0 0 0 3px rgba(79, 184, 120, .15), 0 0 16px rgba(79, 184, 120, .28) !important;
    animation: kac-live-breathe 2.3s ease-in-out infinite;
}

.kac-live-mark.is-busy,
.kac-live-mark.is-break {
    background: var(--kac-gold-light) !important;
    box-shadow: 0 0 0 3px rgba(199, 168, 90, .14) !important;
}

@keyframes kac-live-breathe {
    0%, 100% { transform: scale(.9); }
    50% { transform: scale(1.12); }
}

body.kac-portal-page .kac-collaborator-remove {
    min-height: 29px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(150, 118, 45, .28) !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #72591f !important;
    cursor: pointer !important;
    font-size: 8px !important;
    font-weight: 700 !important;
}

.kac-collaborator-form {
    display: grid !important;
    gap: 12px !important;
    margin-top: 12px !important;
    padding: 13px !important;
    border: 1px solid rgba(150, 118, 45, .25) !important;
    border-radius: 12px !important;
    background: #fffaf0 !important;
}

.kac-collaborator-form > p {
    margin: 0 !important;
    color: #625b53 !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

.kac-collaborator-form > label > span {
    display: block !important;
    margin-bottom: 5px !important;
    color: #685935 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

.kac-collaborator-options {
    display: grid !important;
    gap: 8px !important;
}

.kac-collaborator-option {
    display: grid !important;
    grid-template-columns: auto minmax(84px, .75fr) minmax(120px, 1.25fr) !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px !important;
    border: 1px solid rgba(28, 27, 26, .08) !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .88) !important;
}

.kac-collaborator-option > span {
    min-width: 0 !important;
    display: grid !important;
}

.kac-collaborator-option strong {
    overflow: hidden !important;
    font-size: 10px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-collaborator-option small {
    color: var(--kac-muted) !important;
    font-size: 8px !important;
}

body.kac-portal-page .kac-collaborator-option > input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 !important;
    accent-color: var(--kac-gold);
}

body.kac-portal-page .kac-collaborator-option > input[type="text"],
body.kac-portal-page .kac-collaborator-form textarea {
    width: 100% !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 10px !important;
}

body.kac-portal-page .kac-collaborator-option > input[type="text"]:disabled {
    background: #f0ede7 !important;
    opacity: .65 !important;
}

.kac-check-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

body.kac-portal-page .kac-check-row input {
    width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    flex: none !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--kac-gold);
}

.kac-badge--collaborators {
    border-color: rgba(150, 118, 45, .22) !important;
    background: rgba(150, 118, 45, .1) !important;
    color: #6c541f !important;
}

@media (max-width: 680px) {
    .kac-staff-typing {
        margin-inline: 12px !important;
    }

    .kac-collaborator-option {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    .kac-collaborator-option > input[type="text"] {
        grid-column: 1 / -1 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kac-live-mark.is-online,
    .kac-typing-orbit i {
        animation: none !important;
    }
}

/* 0.5.3 — versioned service quotations */
.kac-quotation-ledger {
    margin: 20px 0 !important;
    padding: 17px !important;
    border: 1px solid rgba(150, 118, 45, .2) !important;
    border-radius: 15px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(150, 118, 45, .08), transparent 32%),
        #fffdf9 !important;
}

.kac-quote-summary {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 7px !important;
    margin: 12px 0 !important;
}

.kac-quote-summary > span {
    display: grid !important;
    gap: 1px !important;
    padding: 9px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    text-align: center !important;
}

.kac-quote-summary strong {
    color: var(--kac-navy) !important;
    font: 600 20px/1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-quote-summary small {
    color: var(--kac-muted) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.kac-quote-list {
    display: grid !important;
    gap: 10px !important;
}

.kac-quote-record {
    position: relative !important;
    padding: 13px !important;
    overflow: hidden !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

.kac-quote-record::before {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 3px !important;
    background: var(--kac-gold) !important;
    content: "" !important;
}

.kac-quote-record.is-accepted::before,
.kac-quote-record.is-paid::before,
.kac-quote-record.is-confirmed::before {
    background: var(--kac-green) !important;
}

.kac-quote-record.is-declined::before,
.kac-quote-record.is-voided::before {
    background: var(--kac-red) !important;
}

.kac-quote-record > div:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

.kac-quote-record > div:first-child > strong {
    color: var(--kac-navy) !important;
    font-size: 9px !important;
    letter-spacing: .04em !important;
}

.kac-quote-record h4 {
    margin: 8px 0 2px !important;
    color: var(--kac-onyx) !important;
    font: 600 19px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-quote-record__amount {
    margin: 0 !important;
    color: var(--kac-gold) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.kac-quote-record > p:not(.kac-quote-record__amount) {
    margin: 5px 0 !important;
    color: var(--kac-muted) !important;
    font-size: 8px !important;
    line-height: 1.5 !important;
}

.kac-quote-record blockquote {
    margin: 9px 0 !important;
    padding: 9px 11px !important;
    border-left: 2px solid var(--kac-gold) !important;
    background: var(--kac-sand) !important;
    color: #5b544b !important;
    font-size: 9px !important;
}

.kac-quote-payment {
    display: grid !important;
    gap: 5px !important;
    margin-top: 9px !important;
    padding: 9px !important;
    border: 1px solid rgba(50, 122, 85, .16) !important;
    border-radius: 9px !important;
    background: rgba(50, 122, 85, .055) !important;
}

.kac-quote-payment p {
    display: flex !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #315d47 !important;
    font-size: 8px !important;
}

.kac-quote-payment p:first-child {
    padding-bottom: 5px !important;
    border-bottom: 1px solid rgba(50, 122, 85, .12) !important;
}

.kac-quote-payment p strong:last-child {
    text-align: right !important;
}

.kac-quote-payment p {
    flex-wrap: wrap !important;
}

.kac-quote-payment a {
    flex: 0 0 100% !important;
    color: var(--kac-navy) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.kac-payment-ledger-card {
    margin-top: 16px !important;
}

.kac-payment-ledger-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 14px !important;
}

.kac-payment-ledger-head p {
    margin: 4px 0 0 !important;
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

.kac-payment-ledger th,
.kac-payment-ledger td {
    white-space: nowrap !important;
}

.kac-ledger-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
}

body.kac-portal-page .kac-ledger-actions a,
body.kac-portal-page .kac-ledger-actions button {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(15, 30, 54, .16) !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: var(--kac-navy) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.kac-portal-page .kac-ledger-actions a:first-child {
    border-color: var(--kac-gold) !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
}

.kac-quote-record__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 10px !important;
}

body.kac-portal-page .kac-quote-record__actions button,
body.kac-portal-page .kac-message-quote-link {
    min-height: 30px !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(15, 30, 54, .15) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kac-navy) !important;
    cursor: pointer !important;
    font-size: 8px !important;
    font-weight: 700 !important;
}

body.kac-portal-page .kac-quote-record__actions button:hover,
body.kac-portal-page .kac-message-quote-link:hover {
    border-color: var(--kac-gold) !important;
    color: var(--kac-gold) !important;
}

body.kac-portal-page .kac-quote-record__actions button.is-danger {
    border-color: rgba(154, 60, 60, .24) !important;
    color: var(--kac-red) !important;
}

body.kac-portal-page .kac-message-quote-link {
    align-self: flex-start !important;
    margin-top: 7px !important;
    border-color: rgba(150, 118, 45, .3) !important;
    background: rgba(150, 118, 45, .08) !important;
}

.kac-quote-editor-modal[hidden] {
    display: none !important;
}

.kac-quote-editor-modal {
    position: fixed !important;
    z-index: 2147483200 !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(7, 16, 30, .66) !important;
    -webkit-backdrop-filter: blur(20px) saturate(.72) !important;
    backdrop-filter: blur(20px) saturate(.72) !important;
}

.kac-quote-editor-card {
    position: relative !important;
    width: min(1040px, 100%) !important;
    max-height: min(900px, calc(100vh - 36px)) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid rgba(150, 118, 45, .32) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 92% 0, rgba(150, 118, 45, .12), transparent 26%),
        #fffdf9 !important;
    box-shadow: 0 38px 110px rgba(0, 0, 0, .42) !important;
    animation: kac-workspace-rise .38s cubic-bezier(.16, 1, .3, 1) both;
}

.kac-quote-editor-head {
    padding: 0 50px 20px 0 !important;
    border-bottom: 1px solid var(--kac-line) !important;
}

.kac-quote-editor-head h2 {
    margin: 3px 0 7px !important;
    color: var(--kac-navy) !important;
    font: 600 35px/1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-quote-editor-head > div > p:last-child {
    margin: 0 !important;
    color: var(--kac-muted) !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-quote-editor-close {
    position: absolute !important;
    top: 17px !important;
    right: 17px !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    cursor: pointer !important;
    font-size: 23px !important;
}

.kac-quote-form-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding-top: 22px !important;
}

.kac-quote-form-grid label {
    display: block !important;
}

.kac-quote-form-grid label > span {
    display: block !important;
    margin-bottom: 6px !important;
    color: #6c655d !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.kac-quote-form-grid .kac-quote-wide {
    grid-column: span 2 !important;
}

body.kac-portal-page .kac-quote-form-grid input,
body.kac-portal-page .kac-quote-form-grid select,
body.kac-portal-page .kac-quote-form-grid textarea {
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(28, 27, 26, .14) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

body.kac-portal-page .kac-quote-form-grid textarea {
    min-height: 92px !important;
    resize: vertical !important;
    line-height: 1.55 !important;
}

body.kac-portal-page .kac-quote-form-grid :disabled {
    background: #f0ede7 !important;
    color: #5e5851 !important;
    opacity: 1 !important;
}

.kac-quote-form-actions {
    position: sticky !important;
    bottom: -28px !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    margin: 24px -28px -28px !important;
    padding: 15px 28px !important;
    border-top: 1px solid var(--kac-line) !important;
    background: rgba(255, 253, 249, .96) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
}

html.kac-modal-open,
body.kac-modal-open {
    overflow: hidden !important;
}

@media (max-width: 900px) {
    .kac-quote-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .kac-quote-editor-modal {
        padding: 0 !important;
    }

    .kac-quote-editor-card {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        padding: 22px 16px !important;
        border-radius: 0 !important;
    }

    .kac-quote-editor-head h2 {
        font-size: 29px !important;
    }

    .kac-quote-form-grid {
        grid-template-columns: 1fr !important;
    }

    .kac-quote-form-grid .kac-quote-wide {
        grid-column: auto !important;
    }

    .kac-quote-form-actions {
        bottom: -22px !important;
        margin: 20px -16px -22px !important;
        padding: 13px 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kac-quote-editor-card {
        animation: none !important;
    }
}

/* 0.6.1 — readable KWD multi-service quotation editor */
.kac-fixed-currency {
    display: flex !important;
    align-items: center !important;
    min-height: 43px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(28, 27, 26, .14) !important;
    border-radius: 9px !important;
    background: #f6f2e9 !important;
    color: var(--kac-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.kac-quote-editor-card {
    font-size: 14px !important;
}

.kac-quote-editor-head > div > p:last-child,
.kac-quote-record > p:not(.kac-quote-record__amount),
.kac-quote-record blockquote,
.kac-quote-payment p {
    font-size: 12px !important;
}

.kac-quote-record > div:first-child > strong,
.kac-quote-summary small,
body.kac-portal-page .kac-quote-record__actions button,
body.kac-portal-page .kac-message-quote-link {
    font-size: 11px !important;
}

.kac-quote-form-grid label > span,
.kac-quote-item label > span {
    color: #4d4842 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body.kac-portal-page .kac-quote-form-grid input,
body.kac-portal-page .kac-quote-form-grid select,
body.kac-portal-page .kac-quote-form-grid textarea,
body.kac-portal-page .kac-quote-item input,
body.kac-portal-page .kac-quote-item select,
body.kac-portal-page .kac-quote-item textarea {
    font-size: 14px !important;
}

.kac-quote-services {
    grid-column: 1 / -1 !important;
    padding: 20px !important;
    border: 1px solid rgba(150, 118, 45, .24) !important;
    border-radius: 16px !important;
    background: #fffaf0 !important;
}

.kac-quote-services__head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 16px !important;
}

.kac-quote-services__head h3 {
    margin: 0 0 5px !important;
    color: var(--kac-navy) !important;
    font: 700 25px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-quote-services__head p {
    margin: 0 !important;
    color: #5c564f !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.kac-portal-page .kac-quote-services__head button,
body.kac-portal-page .kac-quote-item__head button {
    min-height: 38px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kac-navy) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.kac-quote-items {
    display: grid !important;
    gap: 14px !important;
}

.kac-quote-item {
    padding: 17px !important;
    border: 1px solid rgba(15, 30, 54, .13) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 30, 54, .05) !important;
}

.kac-quote-item__head,
.kac-quote-terms-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.kac-quote-item__head {
    margin-bottom: 13px !important;
}

.kac-quote-item__head strong,
.kac-quote-terms-title strong {
    color: var(--kac-navy) !important;
    font-size: 14px !important;
}

.kac-quote-item__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.kac-quote-item__wide {
    grid-column: span 2 !important;
}

.kac-quote-air-terms,
.kac-quote-other-terms {
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--kac-line) !important;
}

.kac-quote-terms-title {
    margin-bottom: 11px !important;
}

.kac-quote-terms-title small {
    color: #5c564f !important;
    font-size: 12px !important;
}

.kac-quote-check {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding-top: 23px !important;
}

body.kac-portal-page .kac-quote-check input {
    width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    flex: none !important;
    padding: 0 !important;
    accent-color: var(--kac-gold) !important;
}

.kac-quote-check > span {
    margin: 0 !important;
}

.kac-quote-total {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    margin-top: 16px !important;
    padding: 16px 18px !important;
    border-radius: 11px !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
}

.kac-quote-total span {
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.kac-quote-total strong {
    color: #fff !important;
    font: 700 27px/1 "Cormorant Garamond", Georgia, serif !important;
}

@media (max-width: 760px) {
    .kac-quote-services__head,
    .kac-quote-item__head,
    .kac-quote-terms-title {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .kac-quote-item__grid {
        grid-template-columns: 1fr !important;
    }

    .kac-quote-item__wide {
        grid-column: auto !important;
    }

    .kac-quote-check {
        padding-top: 6px !important;
    }
}

/* 0.6.2 — administrator-only payment diagnostics */
.kac-quote-payment__diagnostic {
    display: block !important;
    margin: 1px 0 5px !important;
    padding: 8px 10px !important;
    border-left: 3px solid #a63b3b !important;
    border-radius: 6px !important;
    background: rgba(166, 59, 59, .075) !important;
    color: #762b2b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

/* 0.5.5 — administrator reset and GM financial-access controls */
.kac-admin-control-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 28px !important;
    margin-top: 22px !important;
    padding: 24px 26px !important;
    border: 1px solid rgba(150, 118, 45, .24) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 95% 5%, rgba(150, 118, 45, .12), transparent 34%),
        #fffdf9 !important;
    box-shadow: 0 16px 42px rgba(15, 30, 54, .07) !important;
}

.kac-admin-control-card h2 {
    margin: 4px 0 7px !important;
    color: var(--kac-navy) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 29px !important;
    font-weight: 600 !important;
}

.kac-admin-control-card p {
    max-width: 780px !important;
    margin: 0 !important;
    color: #625b53 !important;
    font-size: 11.5px !important;
    line-height: 1.7 !important;
}

.kac-gm-access-card > strong {
    padding: 10px 14px !important;
    border: 1px solid rgba(150, 118, 45, .3) !important;
    border-radius: 999px !important;
    background: rgba(150, 118, 45, .09) !important;
    color: var(--kac-gold) !important;
    font-size: 10px !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
}

.kac-reset-card {
    border-color: rgba(143, 44, 44, .22) !important;
    background:
        radial-gradient(circle at 95% 5%, rgba(143, 44, 44, .08), transparent 34%),
        #fffdfb !important;
}

.kac-reset-confirmation {
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
}

.kac-reset-confirmation label > span {
    display: block !important;
    margin-bottom: 6px !important;
    color: #6b6158 !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.kac-portal-page .kac-reset-confirmation input {
    min-width: 210px !important;
    min-height: 43px !important;
    margin: 0 !important;
    border: 1px solid rgba(143, 44, 44, .25) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
}

body.kac-portal-page .kac-danger-button {
    min-height: 43px !important;
    padding: 0 16px !important;
    border: 1px solid #8f2c2c !important;
    border-radius: 10px !important;
    background: #8f2c2c !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

body.kac-portal-page .kac-danger-button:disabled {
    border-color: #cfc8c0 !important;
    background: #d9d3cc !important;
    color: #746e67 !important;
    cursor: not-allowed !important;
}

.kac-reset-status {
    grid-column: 1 / -1 !important;
    color: #8f2c2c !important;
    font-weight: 700 !important;
}

body.kac-portal-page .kac-gm-access-button {
    border-color: rgba(150, 118, 45, .34) !important;
    background: rgba(150, 118, 45, .08) !important;
    color: var(--kac-gold) !important;
}

body.kac-portal-page .kac-gm-access-button.is-active {
    border-color: rgba(143, 44, 44, .26) !important;
    background: rgba(143, 44, 44, .07) !important;
    color: #8f2c2c !important;
}

.kac-badge--gm {
    border-color: rgba(150, 118, 45, .32) !important;
    background: rgba(150, 118, 45, .11) !important;
    color: var(--kac-gold) !important;
}

.kac-financial-restricted {
    padding: 12px 14px !important;
    border: 1px solid rgba(150, 118, 45, .2) !important;
    border-radius: 10px !important;
    background: rgba(150, 118, 45, .07) !important;
    color: #675b43 !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

@media (max-width: 760px) {
    .kac-admin-control-card {
        grid-template-columns: 1fr !important;
        gap: 17px !important;
        padding: 20px !important;
    }

    .kac-reset-confirmation {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.kac-portal-page .kac-reset-confirmation input {
        width: 100% !important;
        min-width: 0 !important;
    }
}
.kac-smart-service-fields{grid-column:1/-1;margin:16px 0;padding:18px;border:1px solid rgba(15,30,54,.12);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(247,244,239,.72));box-shadow:0 14px 36px rgba(15,30,54,.07)}
.kac-smart-service-title,.kac-smart-repeat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.kac-smart-service-title strong,.kac-smart-repeat-head strong{color:#0f1e36;font-family:"Cormorant Garamond",serif;font-size:24px}
.kac-smart-service-title small{display:block;color:#687385;font-size:11px;margin-top:3px}
.kac-air-review{padding:16px;border:1px solid rgba(15,30,54,.12);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(232,225,211,.55));color:#0f1e36}
.kac-air-review ul{margin:10px 0;padding-inline-start:20px}
.kac-air-review small{color:#657084}
.kac-smart-repeat{margin-top:18px;padding-top:16px;border-top:1px solid rgba(15,30,54,.1)}
.kac-smart-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 42px 14px 14px;margin-top:9px;border:1px solid rgba(15,30,54,.1);border-radius:16px;background:rgba(255,255,255,.68)}
.kac-smart-row label{display:grid;gap:6px}
.kac-smart-row label span{font-size:9px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;color:#687385}
.kac-smart-row input,.kac-smart-row select{width:100%}
.kac-smart-remove{position:absolute;right:10px;top:10px;width:27px;height:27px;border-radius:50%!important;border:1px solid rgba(15,30,54,.14)!important;background:#fff!important;color:#7c3940!important;padding:0!important;font-size:18px!important;line-height:1!important}
@media(max-width:760px){.kac-smart-row{grid-template-columns:1fr;padding-right:42px}.kac-smart-service-fields{padding:14px}.kac-smart-service-title,.kac-smart-repeat-head{align-items:flex-start;flex-direction:column}}

/* KAPICO Concierge v0.7.2 — full-screen adaptive workspace and Credit Shell */
html.kac-portal-mounted,
html.kac-portal-mounted body.kac-portal-page {
    width: 100% !important;
    min-height: 100% !important;
    overscroll-behavior: none;
}

body.kac-portal-page .kac-dashboard {
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.kac-portal-page .kac-section[data-section-panel="inbox"].is-active {
    grid-template-columns:
        clamp(300px, 24vw, 420px)
        minmax(380px, 1fr)
        clamp(300px, 23vw, 390px) !important;
}

.kac-credit-shell {
    margin: 18px 0 !important;
    padding: 17px !important;
    border: 1px solid rgba(150, 118, 45, .23) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(200, 170, 97, .17), transparent 36%),
        linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(247, 244, 239, .88)) !important;
    box-shadow: 0 14px 38px rgba(15, 30, 54, .07) !important;
}

.kac-credit-shell__balance {
    padding: 8px 12px !important;
    border: 1px solid rgba(15, 30, 54, .12) !important;
    border-radius: 999px !important;
    background: rgba(15, 30, 54, .045) !important;
    color: var(--kac-navy) !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

.kac-credit-shell__balance.has-credit {
    border-color: rgba(50, 122, 85, .24) !important;
    background: rgba(50, 122, 85, .09) !important;
    color: var(--kac-green) !important;
}

.kac-credit-shell__identity {
    margin: 2px 0 12px !important;
    color: #6c665e !important;
    font-size: 10px !important;
}

.kac-credit-history {
    display: grid !important;
    gap: 8px !important;
    max-height: 245px !important;
    overflow: auto !important;
}

.kac-credit-entry {
    padding: 11px 12px !important;
    border: 1px solid rgba(15, 30, 54, .09) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .72) !important;
}

.kac-credit-entry > div {
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.kac-credit-entry strong,
.kac-credit-entry b {
    color: var(--kac-navy) !important;
    font-size: 10px !important;
}

.kac-credit-entry.is-credit_void b {
    color: var(--kac-green) !important;
}

.kac-credit-entry.is-debit_replacement b {
    color: var(--kac-gold) !important;
}

.kac-credit-entry p {
    margin: 4px 0 2px !important;
    color: #4e4a45 !important;
    font-size: 10px !important;
}

.kac-credit-entry small {
    color: #807970 !important;
    font-size: 8px !important;
}

body.kac-portal-page .kac-service-card > .kac-service-void-button {
    border-color: rgba(154, 60, 60, .24) !important;
    background: rgba(154, 60, 60, .07) !important;
    color: var(--kac-red) !important;
}

body.kac-portal-page .kac-service-card > button,
body.kac-portal-page .kac-service-card > .kac-service-credit-note {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    min-height: 28px !important;
    margin: 8px 6px 0 0 !important;
    padding: 5px 9px !important;
    border: 1px solid rgba(150, 118, 45, .2) !important;
    border-radius: 999px !important;
    background: rgba(150, 118, 45, .06) !important;
    color: var(--kac-gold) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.kac-service-card__money {
    padding-right: 0 !important;
}

.kac-service-card.is-voided {
    border-color: rgba(154, 60, 60, .22) !important;
    background: linear-gradient(145deg, rgba(154, 60, 60, .045), rgba(255, 255, 255, .82)) !important;
}

.kac-service-credit-note {
    display: inline-flex !important;
    width: fit-content !important;
    margin-top: 8px !important;
    color: var(--kac-gold) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

body.kac-portal-page .kac-apply-credit-button {
    border-color: rgba(50, 122, 85, .28) !important;
    background: rgba(50, 122, 85, .09) !important;
    color: var(--kac-green) !important;
}

.kac-void-summary,
.kac-void-credit-preview {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 14px 0 !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(15, 30, 54, .055) !important;
}

.kac-void-credit-preview {
    border: 1px solid rgba(50, 122, 85, .19) !important;
    background: rgba(50, 122, 85, .07) !important;
}

.kac-void-summary span,
.kac-void-credit-preview span {
    color: #716a62 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.kac-void-summary strong,
.kac-void-credit-preview strong {
    color: var(--kac-navy) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 25px !important;
}

.kac-void-credit-preview strong {
    color: var(--kac-green) !important;
}

@media (max-width: 1320px) {
    body.kac-portal-page .kac-section[data-section-panel="inbox"].is-active {
        grid-template-columns: minmax(280px, 34vw) minmax(360px, 1fr) !important;
    }
}

@media (max-width: 1040px) {
    body.kac-portal-page .kac-dashboard {
        grid-template-rows: 72px auto minmax(0, 1fr) !important;
    }

    body.kac-portal-page .kac-section[data-section-panel="inbox"].is-active {
        display: block !important;
    }
}

@media (max-width: 680px) {
    .kac-credit-shell {
        padding: 14px !important;
    }

    .kac-credit-shell .kac-detail-section-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .kac-credit-shell__balance {
        white-space: normal !important;
    }

    .kac-quote-editor-card.kac-void-dialog,
    .kac-quote-editor-card.kac-credit-dialog {
        width: calc(100% - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        padding: 18px !important;
    }
}

/* ========================================================================
   v0.8.0 — clear operational typography and simple workflow controls
   ======================================================================== */
body.kac-portal-page,
body.kac-portal-page .kac-dashboard,
body.kac-portal-page .kac-dashboard button,
body.kac-portal-page .kac-dashboard input,
body.kac-portal-page .kac-dashboard select,
body.kac-portal-page .kac-dashboard textarea,
body.kac-portal-page .kac-dashboard table {
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 14px;
    line-height: 1.5;
}

body.kac-portal-page .kac-dashboard h1,
body.kac-portal-page .kac-dashboard h2,
body.kac-portal-page .kac-dashboard h3,
body.kac-portal-page .kac-dashboard h4,
body.kac-portal-page .kac-dashboard strong,
body.kac-portal-page .kac-dashboard b,
body.kac-portal-page .kac-dashboard .kac-smart-service-title strong,
body.kac-portal-page .kac-dashboard .kac-smart-repeat-head strong,
body.kac-portal-page .kac-dashboard .kac-void-summary strong,
body.kac-portal-page .kac-dashboard .kac-void-credit-preview strong {
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-style: normal !important;
    letter-spacing: normal;
}

body.kac-portal-page .kac-dashboard h1 { font-size: clamp(28px, 3vw, 38px) !important; font-weight: 700 !important; line-height: 1.15 !important; }
body.kac-portal-page .kac-dashboard h2 { font-size: clamp(21px, 2vw, 28px) !important; font-weight: 700 !important; line-height: 1.2 !important; }
body.kac-portal-page .kac-dashboard h3 { font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; }
body.kac-portal-page .kac-dashboard p,
body.kac-portal-page .kac-dashboard td,
body.kac-portal-page .kac-dashboard dd,
body.kac-portal-page .kac-dashboard li { font-size: 14px !important; }
body.kac-portal-page .kac-dashboard label > span,
body.kac-portal-page .kac-dashboard th,
body.kac-portal-page .kac-dashboard .kac-eyebrow,
body.kac-portal-page .kac-dashboard small { font-size: 12px !important; line-height: 1.45 !important; }
body.kac-portal-page .kac-dashboard button,
body.kac-portal-page .kac-dashboard a.kac-small-button,
body.kac-portal-page .kac-dashboard .kac-small-button { font-size: 13px !important; font-weight: 600 !important; }
body.kac-portal-page .kac-dashboard input,
body.kac-portal-page .kac-dashboard select,
body.kac-portal-page .kac-dashboard textarea { min-height: 42px; font-size: 14px !important; }
body.kac-portal-page .kac-dashboard textarea { min-height: 88px; }

.kac-client-workflow,
.kac-travel-documents {
    margin-top: 16px;
    padding: 18px;
    border: 1px solid rgba(15, 30, 54, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .82);
}

.kac-workflow-badge,
.kac-document-lock {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    background: rgba(15, 30, 54, .08);
    color: #0f1e36;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

.kac-workflow-badge.is-cash,
.kac-document-lock.is-open {
    background: rgba(50, 122, 85, .12);
    color: #236640;
}

.kac-workflow-badge.is-credit {
    background: rgba(150, 118, 45, .13);
    color: #765a1c;
}

.kac-workflow-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.kac-workflow-grid > div {
    padding: 12px;
    border: 1px solid rgba(15, 30, 54, .09);
    border-radius: 12px;
    background: #fff;
}

.kac-workflow-grid span,
.kac-workflow-grid strong {
    display: block;
}

.kac-workflow-grid span {
    margin-bottom: 3px;
    color: #6b7280;
    font-size: 11px !important;
}

.kac-workflow-grid strong {
    color: #0f1e36;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.kac-document-form {
    margin-top: 14px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(15, 30, 54, .035);
}

.kac-document-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.kac-document-form-grid label {
    display: grid;
    gap: 6px;
}

.kac-document-wide {
    grid-column: 1 / -1;
}

.kac-document-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.kac-document-card {
    padding: 14px;
    border: 1px solid rgba(15, 30, 54, .11);
    border-radius: 14px;
    background: #fff;
}

.kac-document-card.is-internal {
    border-left: 4px solid #96762d;
}

.kac-document-card.is-released {
    border-left: 4px solid #327a55;
}

.kac-document-card > div:first-child {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.kac-document-card strong,
.kac-document-card small {
    display: block;
}

.kac-document-card small {
    margin-top: 4px;
    color: #6b7280;
}

.kac-document-actions,
.kac-credit-decision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 11px;
}

.kac-document-actions a,
.kac-document-actions button,
.kac-credit-decision-actions button {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(15, 30, 54, .15);
    border-radius: 9px;
    background: #fff;
    color: #0f1e36;
    text-decoration: none;
    cursor: pointer;
}

.kac-credit-approval-card {
    margin-top: 18px;
}

.kac-credit-approval-table td:last-child {
    min-width: 190px;
}

@media (max-width: 680px) {
    .kac-workflow-grid,
    .kac-document-form-grid {
        grid-template-columns: 1fr;
    }
    .kac-document-wide {
        grid-column: auto;
    }
}

/* ========================================================================
   KAPICO Concierge v0.9.0 · User-buddy workspace
   Clear system typography, strong hierarchy and the PDF-based quotation table.
   ======================================================================== */

.kac-dashboard,
.kac-dashboard button,
.kac-dashboard input,
.kac-dashboard select,
.kac-dashboard textarea,
.kac-login-shell,
.kac-access-denied {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 400;
    letter-spacing: 0;
}

.kac-dashboard h1,
.kac-dashboard h2,
.kac-dashboard h3,
.kac-dashboard h4,
.kac-dashboard strong,
.kac-dashboard th,
.kac-login-shell h1,
.kac-login-shell strong {
    font-weight: 700 !important;
}

body.kac-portal-page {
    background: #f7f7f8 !important;
    color: #202123;
}

.kac-topbar {
    background: #ffffff !important;
    color: #202123 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    box-shadow: none !important;
}

.kac-brand,
.kac-brand strong,
.kac-brand span,
.kac-user,
.kac-user span,
.kac-user strong,
.kac-topbar__actions,
.kac-topbar__actions a,
.kac-topbar__actions button {
    color: #202123 !important;
}

.kac-brand__logo {
    max-height: 42px;
}

.kac-sidebar {
    background: #ffffff !important;
    border-right: 1px solid #e5e5e5 !important;
    box-shadow: none !important;
}

.kac-nav button {
    min-height: 46px;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #343541 !important;
}

.kac-nav button.is-active,
.kac-nav button:hover {
    background: #ececf1 !important;
    color: #202123 !important;
    box-shadow: none !important;
}

.kac-inbox,
.kac-chat,
.kac-details,
.kac-wide-section,
.kac-management-section {
    background: #ffffff;
    box-shadow: none !important;
}

.kac-inbox,
.kac-chat {
    border-right-color: #e5e5e5 !important;
}

.kac-dashboard p,
.kac-dashboard label,
.kac-dashboard input,
.kac-dashboard select,
.kac-dashboard textarea,
.kac-dashboard button,
.kac-dashboard td,
.kac-dashboard dd,
.kac-dashboard li {
    font-size: 15px;
    line-height: 1.5;
}

.kac-dashboard input,
.kac-dashboard select,
.kac-dashboard textarea {
    color: #202123 !important;
    background: #ffffff !important;
    border: 1px solid #cfd1d5 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

.kac-dashboard input:focus,
.kac-dashboard select:focus,
.kac-dashboard textarea:focus {
    border-color: #202123 !important;
    outline: 2px solid rgba(32, 33, 35, .12) !important;
    outline-offset: 1px;
}

.kac-primary-button,
.kac-composer button[type="submit"],
.kac-quote-form-actions .kac-primary-button {
    background: #202123 !important;
    color: #ffffff !important;
    border: 1px solid #202123 !important;
    box-shadow: none !important;
    border-radius: 7px !important;
    font-weight: 700 !important;
}

.kac-eyebrow {
    color: #6b6c70 !important;
    font-size: 12px !important;
    letter-spacing: .06em !important;
    font-weight: 700 !important;
}

.kac-detail-help,
.kac-quote-step p,
.kac-simple-service-table__head p {
    color: #5f6368 !important;
}

.kac-quote-editor-modal {
    padding: 18px !important;
    background: rgba(0, 0, 0, .48) !important;
    backdrop-filter: none !important;
}

.kac-quote-editor-card {
    width: min(1480px, 98vw) !important;
    max-height: 96vh !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: #f7f7f8 !important;
    border: 1px solid #d9d9dc !important;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .24) !important;
    overflow: auto !important;
}

.kac-quote-editor-head {
    position: sticky;
    top: 0;
    z-index: 8;
    padding: 22px 64px 18px 24px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

.kac-quote-editor-head h2 {
    margin: 2px 0 4px !important;
    color: #202123 !important;
    font-size: clamp(22px, 2vw, 30px) !important;
}

.kac-quote-editor-head p {
    margin: 0;
}

.kac-quote-editor-close {
    position: fixed !important;
    top: 30px !important;
    right: max(28px, calc((100vw - min(1480px, 98vw)) / 2 + 18px)) !important;
    z-index: 20 !important;
    width: 38px !important;
    height: 38px !important;
    background: #ececf1 !important;
    color: #202123 !important;
    border: 0 !important;
    border-radius: 50% !important;
    font-size: 24px !important;
}

.kac-quote-editor-card > form {
    display: grid;
    gap: 16px;
    padding: 20px 24px 90px !important;
}

.kac-quote-step {
    padding: 20px !important;
    background: #ffffff;
    border: 1px solid #e1e1e4;
    border-radius: 10px;
}

.kac-quote-step__heading {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.kac-quote-step__heading > span {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: #202123;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
}

.kac-quote-step__heading h3 {
    margin: 0 0 3px !important;
    color: #202123 !important;
    font-size: 19px !important;
}

.kac-quote-step__heading p {
    margin: 0 !important;
}

.kac-service-choice-grid,
.kac-client-type-switch {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.kac-client-type-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 18px;
}

.kac-service-choice,
.kac-client-type-switch label {
    display: flex !important;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 14px !important;
    border: 1px solid #d7d7da;
    border-radius: 9px;
    background: #ffffff;
    cursor: pointer;
}

.kac-service-choice:has(input:checked),
.kac-client-type-switch label:has(input:checked) {
    border-color: #202123;
    box-shadow: inset 0 0 0 1px #202123;
    background: #f7f7f8;
}

.kac-service-choice input,
.kac-client-type-switch input {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px;
}

.kac-service-choice span,
.kac-client-type-switch span {
    display: grid;
    gap: 3px;
}

.kac-service-choice strong,
.kac-client-type-switch strong {
    color: #202123;
    font-size: 16px;
}

.kac-service-choice small,
.kac-client-type-switch small {
    color: #6b6c70;
    font-size: 13px;
}

.kac-quote-form-grid--simple {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px !important;
}

.kac-simple-quote-items {
    display: grid;
    gap: 16px;
}

.kac-service-picker-empty {
    padding: 28px 16px;
    text-align: center;
    color: #6b6c70;
    background: #f7f7f8;
    border: 1px dashed #c8c8cc;
    border-radius: 8px;
}

.kac-simple-service-table {
    padding: 16px;
    border: 1px solid #d9d9dd;
    border-radius: 9px;
    background: #ffffff;
}

.kac-simple-service-table__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
}

.kac-simple-service-table__head h4 {
    margin: 0 0 2px;
    color: #202123;
    font-size: 18px;
}

.kac-simple-service-table__head p {
    margin: 0;
    font-size: 13px;
}

.kac-simple-service-table__head label {
    display: grid;
    flex: 0 0 150px;
    gap: 5px;
    font-weight: 700;
}

.kac-table-scroll {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #d9d9dd;
    border-radius: 8px;
}

.kac-entry-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    background: #ffffff;
}

.kac-entry-table--hotel {
    min-width: 1280px;
}

.kac-entry-table--other {
    min-width: 1080px;
}

.kac-entry-table th,
.kac-entry-table td {
    padding: 8px !important;
    border-right: 1px solid #e3e3e6;
    border-bottom: 1px solid #e3e3e6;
    vertical-align: top;
    text-align: left;
}

.kac-entry-table th {
    background: #f0f0f2;
    color: #202123;
    white-space: nowrap;
    font-size: 13px !important;
}

.kac-entry-table th.is-internal,
.kac-entry-table td.is-internal {
    background: #fff8df;
}

.kac-entry-table th.is-internal::after {
    content: " · Internal";
    color: #8a6a00;
    font-size: 10px;
}

.kac-entry-table input,
.kac-entry-table select {
    width: 100%;
    min-width: 92px;
    min-height: 39px;
    padding: 7px 8px !important;
    font-size: 14px !important;
}

.kac-entry-table td:nth-last-child(-n+3) input {
    min-width: 105px;
}

.kac-entry-table small[data-kac-resolved] {
    display: block;
    min-height: 18px;
    padding-top: 3px;
    color: #5f6368;
    font-size: 11px;
    line-height: 1.25;
}

.kac-simple-service-notes {
    display: grid;
    grid-template-columns: 1fr 1fr 220px 150px;
    gap: 12px;
    margin-top: 13px;
}

.kac-simple-service-notes label {
    display: grid;
    align-content: start;
    gap: 6px;
    font-weight: 700;
}

.kac-simple-service-notes textarea,
.kac-simple-service-notes input {
    width: 100%;
}

.kac-quote-total {
    margin-top: 14px !important;
    padding: 15px 18px !important;
    background: #202123 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 8px !important;
}

.kac-quote-total span,
.kac-quote-total strong {
    color: #ffffff !important;
}

.kac-quote-form-actions--sticky {
    position: sticky;
    bottom: 0;
    z-index: 9;
    margin: 0 -24px -90px !important;
    padding: 14px 24px !important;
    background: #ffffff;
    border-top: 1px solid #d9d9dd;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .06);
}

@media (max-width: 900px) {
    .kac-service-choice-grid,
    .kac-client-type-switch,
    .kac-quote-form-grid--simple,
    .kac-simple-service-notes {
        grid-template-columns: 1fr !important;
    }

    .kac-simple-service-table__head {
        align-items: stretch;
        flex-direction: column;
    }

    .kac-simple-service-table__head label {
        flex: none;
        width: 100%;
    }

    .kac-quote-editor-modal {
        padding: 0 !important;
    }

    .kac-quote-editor-card {
        width: 100vw !important;
        max-height: 100vh !important;
        min-height: 100vh;
        border-radius: 0 !important;
    }

    .kac-quote-editor-head,
    .kac-quote-editor-card > form {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .kac-quote-editor-close {
        top: 12px !important;
        right: 12px !important;
    }

    .kac-quote-step {
        padding: 15px !important;
    }
}

.kac-quotation-ledger {
    border: 2px solid #202123 !important;
    background: #ffffff !important;
}

.kac-quotation-ledger .kac-detail-section-head h3 {
    font-size: 20px !important;
}

.kac-quotation-ledger [data-kac-add-quote] {
    min-height: 42px;
    padding: 9px 15px !important;
    background: #202123 !important;
    color: #ffffff !important;
    border: 1px solid #202123 !important;
    border-radius: 7px !important;
    font-weight: 700 !important;
}

.kac-advanced-case-tools {
    margin-top: 16px;
    border: 1px solid #d9d9dd;
    border-radius: 9px;
    background: #ffffff;
    overflow: hidden;
}

.kac-advanced-case-tools > summary {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 16px;
    cursor: pointer;
    color: #202123;
    list-style: none;
}

.kac-advanced-case-tools > summary::-webkit-details-marker {
    display: none;
}

.kac-advanced-case-tools > summary::after {
    content: "+";
    font-size: 22px;
    line-height: 1;
}

.kac-advanced-case-tools[open] > summary::after {
    content: "−";
}

.kac-advanced-case-tools > summary span {
    color: #6b6c70;
    font-size: 13px;
}

.kac-advanced-case-tools > section,
.kac-advanced-case-tools > form {
    margin: 0 14px 14px !important;
}

/* v0.9.0 exact client-copy preview */
.kac-customer-quote-preview {
    padding: 22px 24px 90px;
}

.kac-customer-quote-preview__paper {
    max-width: 1120px;
    margin: 0 auto;
    padding: clamp(22px, 4vw, 46px);
    background: #ffffff;
    border: 1px solid #dcdce0;
    border-radius: 10px;
    color: #202123;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .07);
}

.kac-client-preview-head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 22px;
    border-bottom: 2px solid #202123;
}

.kac-client-preview-brand,
.kac-client-preview-reference {
    display: grid;
    gap: 4px;
}

.kac-client-preview-brand strong {
    font-size: clamp(19px, 2.2vw, 27px);
    letter-spacing: .02em;
}

.kac-client-preview-brand span,
.kac-client-preview-reference span,
.kac-client-preview-reference small,
.kac-client-preview-meta small,
.kac-client-preview-response small {
    color: #6b6c70;
    font-size: 12px;
}

.kac-client-preview-reference {
    text-align: right;
}

.kac-client-preview-reference strong {
    font-size: 16px;
}

.kac-client-preview-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 24px;
    margin: 22px 0;
    padding: 15px 17px;
    background: #f7f7f8;
    border-radius: 8px;
}

.kac-client-preview-meta > div {
    display: grid;
    gap: 3px;
}

.kac-client-preview-meta strong {
    white-space: pre-line;
    font-size: 14px;
}

.kac-client-preview-section {
    margin-top: 24px;
}

.kac-client-preview-section h3,
.kac-client-preview-policies h3 {
    margin: 0 0 10px;
    font-size: 17px;
}

.kac-client-preview-scroll {
    overflow-x: auto;
    border: 1px solid #d9d9dd;
    border-radius: 7px;
}

.kac-client-preview-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.kac-client-preview-table th,
.kac-client-preview-table td {
    padding: 10px 9px;
    border-right: 1px solid #e3e3e6;
    border-bottom: 1px solid #e3e3e6;
    text-align: left;
    vertical-align: top;
    font-size: 13px;
}

.kac-client-preview-table th {
    background: #f0f0f2;
    font-weight: 700;
    white-space: nowrap;
}

.kac-client-preview-table tr:last-child td {
    border-bottom: 0;
}

.kac-client-preview-table th:last-child,
.kac-client-preview-table td:last-child {
    border-right: 0;
    text-align: right;
    white-space: nowrap;
    font-weight: 700;
}

.kac-client-preview-total {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 28px;
    margin-top: 18px;
    padding: 15px 18px;
    background: #202123;
    color: #ffffff;
    border-radius: 7px;
}

.kac-client-preview-total strong {
    font-size: 20px;
}

.kac-client-preview-policies {
    display: grid;
    gap: 12px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid #d9d9dd;
}

.kac-client-preview-policies > div {
    display: grid;
    gap: 4px;
}

.kac-client-preview-policies p {
    margin: 0;
    white-space: pre-line;
    line-height: 1.55;
}

.kac-client-preview-response {
    display: grid;
    gap: 5px;
    margin-top: 26px;
    padding: 17px;
    border: 2px solid #202123;
    border-radius: 8px;
}

.kac-client-preview-response strong {
    font-size: 17px;
}

.kac-client-preview-response p {
    margin: 0;
    color: #56585d;
}

.kac-customer-quote-preview__actions {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    max-width: 1120px;
    margin: 18px auto -90px;
    padding: 14px 0;
    background: #f7f7f8;
}

.kac-customer-quote-preview__actions button {
    min-height: 42px;
    padding: 9px 15px;
    border-radius: 7px;
}

@media (max-width: 720px) {
    .kac-customer-quote-preview {
        padding: 14px 12px 82px;
    }

    .kac-client-preview-head {
        display: grid;
    }

    .kac-client-preview-reference {
        text-align: left;
    }

    .kac-client-preview-meta {
        grid-template-columns: 1fr;
    }

    .kac-customer-quote-preview__actions {
        flex-wrap: wrap;
        margin-bottom: -82px;
    }

    .kac-customer-quote-preview__actions button {
        flex: 1 1 150px;
    }
}

/* v0.9.0 progressive case path */
.kac-workflow-progress {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(105px, 1fr)) !important;
    gap: 8px !important;
}

.kac-workflow-progress > div {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    padding: 10px !important;
    border: 1px solid #d9d9dd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.kac-workflow-progress > div > b {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #ececf1;
    color: #6b6c70;
    font-size: 12px;
}

.kac-workflow-progress > div > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.kac-workflow-progress > div strong {
    overflow: hidden;
    color: #202123;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kac-workflow-progress > div small {
    color: #6b6c70;
    font-size: 11px;
}

.kac-workflow-progress > div.is-done {
    border-color: #b7d9c2 !important;
    background: #f1faf4 !important;
}

.kac-workflow-progress > div.is-done > b {
    background: #217a3c;
    color: #ffffff;
}

.kac-workflow-progress > div.is-current {
    border-color: #202123 !important;
    box-shadow: inset 0 0 0 1px #202123;
}

.kac-workflow-progress > div.is-current > b {
    background: #202123;
    color: #ffffff;
}

.kac-workflow-progress > div.is-locked {
    opacity: .62;
}

@media (max-width: 1150px) {
    .kac-workflow-progress {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .kac-workflow-progress {
        grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
    }
}

.kac-entry-table .kac-hotel-name-cell {
    min-width: 190px;
}

.kac-entry-table .kac-hotel-name-cell input + input {
    margin-top: 6px;
    font-size: 12px !important;
}


/* v0.9.1 permanent client directory and complete quotation preview */
.kac-clients-section {
    padding: 28px !important;
    overflow: auto;
}

.kac-clients-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.kac-clients-head h1 {
    margin: 3px 0 7px;
    font-size: clamp(26px, 3vw, 38px);
}

.kac-clients-head p:last-child {
    max-width: 820px;
    margin: 0;
    color: #5f6368;
}

.kac-client-directory-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(190px, 260px);
    gap: 12px;
    margin-bottom: 14px;
}

.kac-client-directory-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.kac-client-directory-summary > div {
    display: grid;
    gap: 3px;
    padding: 15px 17px;
    border: 1px solid #dedee2;
    border-radius: 9px;
    background: #fff;
}

.kac-client-directory-summary strong {
    font-size: 23px;
}

.kac-client-directory-summary span {
    color: #66686d;
    font-size: 13px;
}

.kac-client-directory-note {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #d7d7db;
    border-radius: 8px;
    background: #f7f7f8;
    color: #4c4e52;
    font-size: 14px;
}

.kac-client-directory-table-wrap {
    overflow: auto;
    border: 1px solid #d9d9dd;
    border-radius: 9px;
    background: #fff;
}

.kac-client-directory-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}

.kac-client-directory-table th,
.kac-client-directory-table td {
    padding: 13px 14px;
    border-right: 1px solid #e7e7e9;
    border-bottom: 1px solid #e7e7e9;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.kac-client-directory-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f3f3f5;
    color: #383a3d;
    font-weight: 700;
    white-space: nowrap;
}

.kac-client-directory-table tr:last-child td {
    border-bottom: 0;
}

.kac-client-directory-table th:last-child,
.kac-client-directory-table td:last-child {
    border-right: 0;
}

.kac-client-directory-table td {
    display: table-cell;
}

.kac-client-directory-table td > strong,
.kac-client-directory-table td > small {
    display: block;
}

.kac-client-directory-table td > small {
    margin-top: 4px;
    color: #6b6c70;
    line-height: 1.35;
}

.kac-client-type-select {
    min-width: 150px;
    min-height: 39px;
    font-weight: 700;
}

.kac-client-type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid #d5d5d8;
    border-radius: 999px;
    background: #f4f4f5;
    font-weight: 700;
    white-space: nowrap;
}

.kac-client-type-badge.is-credit {
    border-color: #8a6a20;
    background: #fff8df;
}

.kac-client-type-badge.is-repeat {
    border-color: #8a8a91;
    background: #efeff2;
}

.kac-client-credit-position {
    display: grid;
    gap: 5px;
    min-width: 230px;
}

.kac-client-credit-position > strong,
.kac-client-credit-position > small {
    display: block;
}

.kac-client-credit-position > small,
.kac-credit-limit-editor > small {
    color: #6b6c70;
    font-size: 12px;
}

.kac-client-credit-state.is-pending {
    color: #8a5d00 !important;
    font-weight: 700;
}

.kac-client-credit-state.is-approved {
    color: #286640 !important;
    font-weight: 700;
}

.kac-credit-review-button {
    min-height: 36px;
    width: fit-content;
    border: 1px solid #9c7a26;
    border-radius: 8px;
    background: #fff9e8;
    color: #5d4510;
    font-weight: 700;
    padding: 7px 12px;
}

.kac-credit-limit-editor {
    display: grid;
    grid-template-columns: minmax(105px, 1fr) auto;
    gap: 7px;
    align-items: center;
    margin-top: 5px;
}

.kac-credit-limit-editor input,
.kac-credit-limit-editor button {
    min-height: 38px;
}

.kac-credit-limit-editor button {
    border: 1px solid #9c7a26;
    border-radius: 8px;
    background: #fff9e8;
    color: #5d4510;
    font-weight: 700;
    white-space: nowrap;
}

.kac-credit-limit-editor > small {
    grid-column: 1 / -1;
}

.kac-client-directory-empty {
    padding: 34px !important;
    text-align: center !important;
    color: #6b6c70;
}

.kac-quote-editor-card > .kac-customer-quote-preview:not([hidden]) {
    display: block !important;
    min-height: 420px;
}

@media (max-width: 900px) {
    .kac-clients-section {
        padding: 18px !important;
    }

    .kac-client-directory-filters,
    .kac-client-directory-summary {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 620px) {
    .kac-clients-head,
    .kac-client-directory-filters,
    .kac-client-directory-summary {
        grid-template-columns: 1fr;
        display: grid;
    }
}

/* v0.9.4: released travel-document action inside the staff chat */
.kac-message-document-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: 10px;
    font-weight: 700;
}


/* v0.9.5: unlimited repeatable quotation service entries */
.kac-service-add-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.kac-portal-page .kac-add-quote-service {
    display: grid !important;
    align-content: center;
    justify-items: start;
    gap: 4px;
    min-height: 76px !important;
    padding: 14px 16px !important;
    border: 1px solid #d7d7da !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #202123 !important;
    text-align: left !important;
    box-shadow: none !important;
}

body.kac-portal-page .kac-add-quote-service:hover,
body.kac-portal-page .kac-add-quote-service:focus-visible {
    border-color: #202123 !important;
    background: #f7f7f8 !important;
}

.kac-add-quote-service strong {
    font-size: 16px;
    font-weight: 700;
}

.kac-add-quote-service small {
    color: #6b6c70;
    font-size: 13px;
    font-weight: 400;
}

.kac-simple-service-table__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}

.kac-simple-service-table__actions > span {
    color: #6b6c70;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

body.kac-portal-page .kac-simple-service-table__actions button {
    min-height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #202123 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #202123 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body.kac-portal-page .kac-simple-service-table__actions button:hover,
body.kac-portal-page .kac-simple-service-table__actions button:focus-visible {
    background: #202123 !important;
    color: #ffffff !important;
}

.kac-entry-action-heading,
.kac-entry-action-cell {
    width: 88px;
    min-width: 88px;
    text-align: center !important;
}

body.kac-portal-page .kac-remove-service-entry {
    min-height: 36px !important;
    padding: 6px 9px !important;
    border: 1px solid #c7c7cb !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #4b4c50 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

body.kac-portal-page .kac-remove-service-entry:hover,
body.kac-portal-page .kac-remove-service-entry:focus-visible {
    border-color: #202123 !important;
    color: #202123 !important;
    background: #f7f7f8 !important;
}

@media (max-width: 900px) {
    .kac-service-add-grid {
        grid-template-columns: 1fr;
    }

    .kac-simple-service-table__actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.kac-portal-page .kac-simple-service-table__actions button {
        width: 100%;
    }
}

/* v0.10.0 — focused supplier and air-ticket workflow */
.kac-workflow-modal .kac-quote-editor-card {
    width: min(1120px, calc(100vw - 36px));
    max-height: calc(100vh - 36px);
    overflow: auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.kac-supplier-workflow-grid { display: grid; gap: 18px; }
.kac-workflow-step {
    border: 1px solid rgba(15,30,54,.13);
    border-radius: 18px;
    padding: 18px;
    background: #fff;
}
.kac-workflow-step h3 { margin: 0 0 8px; font-size: 20px; }
.kac-workflow-step textarea { width: 100%; resize: vertical; }
.kac-workflow-step__head { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
.kac-workflow-step__head > b {
    display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%;
    background:#0f1e36; color:#fff; font-size:15px;
}
.kac-workflow-step__head strong { display:block; font-size:18px; color:#0f1e36; }
.kac-workflow-step__head small { display:block; margin-top:3px; color:#666; font-size:13px; }
.kac-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kac-span-2 { grid-column: span 2; }
.kac-span-3 { grid-column: span 3; }
.kac-inline-upload { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.kac-inline-upload input[type="file"] { flex:1 1 360px; min-width:220px; }
.kac-field-with-action { display:flex; gap:8px; align-items:center; }
.kac-field-with-action input { min-width:0; flex:1; }
.kac-choice-row { display:flex; flex-wrap:wrap; gap:18px; margin-bottom:14px; }
.kac-choice-row label { display:flex; gap:8px; align-items:center; font-weight:600; }
.kac-workflow-extraction { min-height:0; margin:8px 0 14px; font-size:13px; color:#5f6368; }
.kac-workflow-status { align-self:flex-start; padding:8px 12px; border-radius:999px; background:#f7f4ef; color:#80651f; font-weight:700; font-size:12px; }
.kac-workflow-doc-links { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:12px 4px; }
.kac-workflow-doc-links strong { width:100%; }
.kac-workflow-doc-links a { border:1px solid #d6d8dc; border-radius:10px; padding:8px 10px; text-decoration:none; }
.kac-service-confirmation-state { display:block; width:100%; margin-top:8px; color:#6d6250; }
.kac-air-wizard-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 18px; }
.kac-air-wizard-steps span { padding:9px 10px; border-radius:10px; background:#f2f2f3; font-size:12px; font-weight:700; text-align:center; color:#6a6b70; }
.kac-air-wizard-steps span.is-active { background:#0f1e36; color:#fff; }
.kac-workflow-review-note, .kac-workflow-warning { margin-top:14px; padding:14px; border-radius:14px; background:#f7f4ef; }
.kac-workflow-warning { border:1px solid #b58520; background:#fff9e9; }
.kac-workflow-review-note p, .kac-workflow-warning p { margin:5px 0 0; }
.kac-supplier-reconciliation-table input { min-width:110px; width:100%; }
.kac-supplier-reconciliation-table td small { display:block; margin-top:4px; color:#777; }
.kac-account-fx-input { font-variant-numeric: tabular-nums; }

@media (max-width: 900px) {
    .kac-form-grid--3 { grid-template-columns: 1fr; }
    .kac-span-2, .kac-span-3 { grid-column: auto; }
    .kac-air-wizard-steps { grid-template-columns: 1fr 1fr; }
}

/* v0.10.0 — repeatable additional voucher services */
.kac-additional-voucher-services > span {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
    color: #0f1e36;
}
.kac-additional-voucher-services > small {
    display: block;
    margin-top: 7px;
    color: #6b6c70;
    font-size: 12px;
    line-height: 1.45;
}
.kac-additional-voucher-row {
    display: grid;
    grid-template-columns: 100px 82px minmax(220px, 2fr) minmax(120px, 1fr) minmax(120px, 1fr) minmax(145px, 1fr) 38px;
    gap: 7px;
    align-items: center;
    margin-bottom: 8px;
}
.kac-additional-voucher-row input {
    width: 100%;
    min-width: 0;
}
body.kac-portal-page .kac-additional-voucher-row .kac-additional-voucher-remove {
    display: grid;
    place-items: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px !important;
    padding: 0 !important;
    border: 1px solid #d4d5d8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #55585d !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
body.kac-portal-page .kac-additional-voucher-row .kac-additional-voucher-remove:hover,
body.kac-portal-page .kac-additional-voucher-row .kac-additional-voucher-remove:focus-visible {
    border-color: #202123 !important;
    background: #f7f7f8 !important;
    color: #202123 !important;
}
@media (max-width: 1050px) {
    .kac-additional-voucher-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 10px;
        border: 1px solid #ececef;
        border-radius: 12px;
    }
    body.kac-portal-page .kac-additional-voucher-row .kac-additional-voucher-remove {
        width: 100%;
        grid-column: span 2;
    }
}
@media (max-width: 620px) {
    .kac-additional-voucher-row { grid-template-columns: 1fr; }
    body.kac-portal-page .kac-additional-voucher-row .kac-additional-voucher-remove { grid-column: auto; }
}

/* v0.11.0 · verified client profiles and simple condition choices */
.kac-client-directory-head-actions{display:flex;align-items:center;gap:10px}.kac-client-create-card{max-width:720px}.kac-client-create-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kac-client-create-form label{display:grid;gap:7px}.kac-client-create-form label>span{font-size:12px;font-weight:700;color:#384354}.kac-client-create-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.kac-fare-condition-pick,.kac-air-fare-choice{border:0;padding:0;margin:0}.kac-fare-condition-pick legend,.kac-air-fare-choice legend{margin:0 0 8px;font-size:12px;font-weight:700;color:#384354}.kac-fare-condition-pick label,.kac-air-fare-choice label{display:flex!important;align-items:center;gap:9px;padding:10px 12px;margin:0 0 8px;border:1px solid #dce2e9;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:600;color:#1c2735}.kac-fare-condition-pick input[type=radio],.kac-air-fare-choice input[type=radio]{width:17px!important;height:17px!important;min-height:0!important;margin:0!important;accent-color:#0f1e36}.kac-fare-condition-pick label:has(input:checked),.kac-air-fare-choice label:has(input:checked){border-color:#96762d;background:#fffaf0;box-shadow:0 0 0 2px rgba(150,118,45,.08)}
@media(max-width:720px){.kac-client-create-form{grid-template-columns:1fr}.kac-client-create-actions{grid-column:1}}

/* ========================================================================
   KAPICO Concierge v0.11.1 · Fluid workspace polish
   - centred Add Client modal
   - liquid section/modal movement
   - compact conversation monitor with visible transcript
   - compact, prioritised revenue KPIs
   ======================================================================== */

/* Smooth page movement without slowing down the working interface. */
@keyframes kac-liquid-section-in {
    0% { opacity: 0; transform: translate3d(0, 12px, 0) scale(.996); filter: blur(2px); }
    55% { opacity: 1; }
    100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

body.kac-portal-page .kac-section[data-section-panel].is-active:not([hidden]) {
    animation: kac-liquid-section-in .38s cubic-bezier(.22, 1, .36, 1) both;
    transform-origin: 50% 24%;
}

body.kac-portal-page .kac-nav button,
body.kac-portal-page .kac-monitor-card,
body.kac-portal-page .kac-metric-grid article,
body.kac-portal-page .kac-report-card,
body.kac-portal-page .kac-client-directory-table tbody tr,
body.kac-portal-page button,
body.kac-portal-page input,
body.kac-portal-page select,
body.kac-portal-page textarea {
    transition:
        transform .24s cubic-bezier(.22, 1, .36, 1),
        box-shadow .24s cubic-bezier(.22, 1, .36, 1),
        border-color .24s ease,
        background-color .24s ease,
        color .24s ease,
        opacity .24s ease !important;
}

/* ------------------------------------------------------------------------
   Proper centred Add Client modal. v0.11.0 had the markup but no complete
   modal positioning rules, which allowed the card to flow as page content.
   ------------------------------------------------------------------------ */
.kac-modal[hidden] { display: none !important; }

.kac-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000000 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(18px, 4vw, 52px) !important;
    overflow: auto !important;
}

.kac-modal__backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: rgba(10, 18, 31, .50) !important;
    -webkit-backdrop-filter: blur(13px) saturate(115%) !important;
    backdrop-filter: blur(13px) saturate(115%) !important;
    animation: kac-liquid-backdrop-in .28s ease-out both;
}

@keyframes kac-liquid-backdrop-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.kac-modal__card {
    position: relative !important;
    z-index: 1 !important;
    width: min(720px, calc(100vw - 36px)) !important;
    max-width: 720px !important;
    max-height: min(760px, calc(100dvh - 64px)) !important;
    overflow: auto !important;
    margin: auto !important;
    padding: clamp(24px, 3vw, 34px) !important;
    border: 1px solid rgba(150, 118, 45, .18) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(150, 118, 45, .10), transparent 34%),
        rgba(255, 253, 249, .985) !important;
    box-shadow: 0 34px 90px rgba(6, 15, 28, .28) !important;
    animation: kac-liquid-modal-in .42s cubic-bezier(.22, 1, .36, 1) both;
    transform-origin: 50% 40%;
}

@keyframes kac-liquid-modal-in {
    0% { opacity: 0; transform: translate3d(0, 34px, 0) scale(.965); }
    65% { opacity: 1; transform: translate3d(0, -3px, 0) scale(1.003); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

body.kac-portal-page .kac-modal__close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid rgba(15, 30, 54, .12) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.86) !important;
    color: var(--kac-navy) !important;
    box-shadow: 0 8px 22px rgba(15,30,54,.06) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

body.kac-portal-page .kac-modal__close:hover {
    transform: rotate(7deg) scale(1.05) !important;
    background: #fff !important;
    border-color: rgba(150,118,45,.35) !important;
}

.kac-client-create-card > .kac-eyebrow { margin-right: 54px !important; }
.kac-client-create-card h2 {
    margin: 4px 54px 8px 0 !important;
    color: var(--kac-onyx) !important;
    font-family: inherit !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    font-weight: 750 !important;
    line-height: 1.08 !important;
}
.kac-client-create-card > p:not(.kac-eyebrow) {
    max-width: 560px !important;
    margin: 0 0 24px !important;
    color: var(--kac-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.kac-client-create-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
body.kac-portal-page .kac-client-create-form input,
body.kac-portal-page .kac-client-create-form select {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(15,30,54,.14) !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    font-family: inherit !important;
    font-size: 14px !important;
}
.kac-client-create-form label > span {
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}
.kac-client-create-actions {
    padding-top: 8px !important;
    border-top: 1px solid rgba(15,30,54,.08) !important;
}

/* ------------------------------------------------------------------------
   Monitor: compact metrics + horizontal summary = transcript visible on load
   ------------------------------------------------------------------------ */
.kac-monitor-metrics {
    grid-template-columns: repeat(6, minmax(112px, 1fr)) !important;
    gap: 9px !important;
    margin: 14px 0 12px !important;
}
.kac-monitor-metrics article {
    min-height: 72px !important;
    align-content: center !important;
    gap: 2px !important;
    padding: 10px 13px !important;
    border-radius: 12px !important;
}
.kac-monitor-metrics strong {
    font-family: inherit !important;
    font-size: clamp(23px, 2vw, 29px) !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
}
.kac-monitor-metrics span {
    font-size: 10px !important;
    line-height: 1.2 !important;
}
.kac-monitor-filters { margin-bottom: 11px !important; }

.kac-monitor-layout {
    height: clamp(440px, calc(100dvh - 405px), 620px) !important;
    min-height: 440px !important;
    grid-template-columns: clamp(290px, 28vw, 350px) minmax(0, 1fr) !important;
    border-radius: 16px !important;
}
.kac-monitor-active {
    grid-template-rows: auto auto 38px minmax(0, 1fr) !important;
}
.kac-monitor-detail__head { padding: 11px 15px !important; }
.kac-monitor-detail__head h2 {
    font-family: inherit !important;
    font-size: 24px !important;
    font-weight: 750 !important;
}

/* Keep case metadata available without pushing the conversation below fold. */
.kac-monitor-summary {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
    scrollbar-width: thin !important;
    background: #fff !important;
}
.kac-monitor-summary > div {
    flex: 0 0 142px !important;
    min-width: 142px !important;
    gap: 2px !important;
    padding: 8px 10px !important;
    border-right: 1px solid var(--kac-line) !important;
}
.kac-monitor-summary span { font-size: 7px !important; }
.kac-monitor-summary strong {
    font-family: inherit !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
}
.kac-monitor-tabs { padding-top: 3px !important; }
.kac-monitor-transcript,
.kac-monitor-audit {
    padding: 13px 16px 22px !important;
    scroll-padding-top: 12px !important;
}
.kac-monitor-transcript .kac-message { max-width: 88% !important; }

/* ------------------------------------------------------------------------
   Reports: financial KPIs first, smaller numbers, strong visual hierarchy.
   ------------------------------------------------------------------------ */
.kac-revenue-report .kac-metric-grid {
    gap: 10px !important;
    margin-bottom: 14px !important;
}
.kac-revenue-report .kac-metric-grid article {
    min-height: 104px !important;
    align-content: center !important;
    padding: 14px 16px !important;
}
.kac-revenue-report .kac-metric-grid strong {
    font-family: inherit !important;
    font-size: clamp(24px, 2.2vw, 31px) !important;
    font-weight: 780 !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
}
.kac-revenue-report .kac-metric-grid span {
    font-size: 10px !important;
    font-weight: 600 !important;
}
.kac-revenue-report .kac-metric-grid article.kac-metric--headline {
    border-width: 1px !important;
    box-shadow: 0 12px 34px rgba(15,30,54,.06) !important;
}
.kac-revenue-report .kac-metric-grid article.kac-metric--sales {
    border-color: rgba(15,30,54,.18) !important;
    background: linear-gradient(145deg, #fff, #f5f7fa) !important;
}
.kac-revenue-report .kac-metric-grid article.kac-metric--sales strong { color: var(--kac-navy) !important; }
.kac-revenue-report .kac-metric-grid article.kac-metric--income {
    border-color: rgba(150,118,45,.24) !important;
    background: linear-gradient(145deg, #fff, #fffaf0) !important;
}
.kac-revenue-report .kac-metric-grid article.kac-metric--income strong { color: #8a681e !important; }
.kac-revenue-report .kac-metric-grid article.kac-metric--margin {
    border-color: rgba(42,105,75,.20) !important;
    background: linear-gradient(145deg, #fff, #f4faf6) !important;
}
.kac-revenue-report .kac-metric-grid article.kac-metric--margin strong { color: #286b4d !important; }
.kac-revenue-report .kac-metric-grid article.is-negative {
    border-color: rgba(151,50,50,.20) !important;
    background: linear-gradient(145deg, #fff, #fff5f5) !important;
}
.kac-revenue-report .kac-metric-grid article.is-negative strong { color: #9a3c3c !important; }

@media (max-width: 1180px) {
    .kac-monitor-metrics { grid-template-columns: repeat(3, minmax(120px,1fr)) !important; }
    .kac-monitor-layout { height: clamp(430px, calc(100dvh - 475px), 600px) !important; }
}

@media (max-width: 760px) {
    .kac-modal:not([hidden]) { padding: 0 !important; }
    .kac-modal__card {
        width: 100% !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        padding: 26px 18px !important;
        border: 0 !important;
        border-radius: 0 !important;
    }
    .kac-client-create-form { grid-template-columns: 1fr !important; }
    .kac-client-create-actions { grid-column: auto !important; }
    .kac-monitor-metrics { grid-template-columns: repeat(2, minmax(110px,1fr)) !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.kac-portal-page .kac-section[data-section-panel].is-active:not([hidden]),
    .kac-modal__backdrop,
    .kac-modal__card { animation: none !important; }
    body.kac-portal-page * { transition-duration: .01ms !important; }
}


/* v0.11.6 — safe client archive / restore / permanent-delete controls */
.kac-client-directory-table tbody tr.is-archived-client {
    background: #fafafa;
    opacity: .82;
}

.kac-client-type-badge.is-archived {
    border-color: #a7a7ad;
    background: #eeeeF1;
    color: #55585d;
}

.kac-client-profile-actions {
    min-width: 155px;
}

.kac-client-profile-actions button {
    display: block;
    width: 100%;
    min-height: 36px;
    margin: 0 0 7px;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.kac-client-profile-actions button:last-child {
    margin-bottom: 0;
}

body.kac-portal-page .kac-client-archive-button {
    border: 1px solid #b5a36e !important;
    background: #fffaf0 !important;
    color: #684f15 !important;
}

body.kac-portal-page .kac-client-restore-button {
    border: 1px solid #6f8c78 !important;
    background: #f3faf5 !important;
    color: #245436 !important;
}

body.kac-portal-page .kac-client-delete-button {
    border: 1px solid #b66b6b !important;
    background: #fff6f6 !important;
    color: #8b2f2f !important;
}

body.kac-portal-page .kac-client-archive-button:hover,
body.kac-portal-page .kac-client-archive-button:focus-visible,
body.kac-portal-page .kac-client-restore-button:hover,
body.kac-portal-page .kac-client-restore-button:focus-visible,
body.kac-portal-page .kac-client-delete-button:hover,
body.kac-portal-page .kac-client-delete-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 30, 54, .08) !important;
}

/* v0.12.0 · Smart routing, expertise/language profiles and sound alerts */
body.kac-portal-page .kac-sound-button.is-active {
    border-color: var(--kac-gold-light);
    background: rgba(200, 170, 97, .16);
    color: var(--kac-gold-light);
}

.kac-routing-card {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid rgba(150, 118, 45, .22);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 253, 250, .98), rgba(247, 244, 239, .92));
    box-shadow: 0 10px 30px rgba(15, 30, 54, .05);
}

.kac-routing-card h3 {
    margin: 2px 0 0;
    font-size: 15px;
}

.kac-routing-language {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    border: 1px solid rgba(15, 30, 54, .12);
    border-radius: 999px;
    background: #fff;
    color: var(--kac-navy);
    font-size: 10px;
    font-weight: 700;
}

.kac-handover-summary {
    margin: 10px 0;
    padding: 10px 11px;
    border-left: 3px solid var(--kac-gold);
    border-radius: 8px;
    background: rgba(150, 118, 45, .07);
    color: var(--kac-onyx);
    font-size: 11px;
    line-height: 1.55;
}

.kac-claim-button {
    width: 100%;
    margin-top: 10px;
}

.kac-routing-profile-fieldset {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--kac-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .7);
}

.kac-routing-profile-fieldset legend {
    padding: 0 5px;
    color: var(--kac-navy);
    font-size: 10px;
    font-weight: 700;
}

.kac-routing-profile-fieldset label,
.kac-inline-checkset label {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    margin: 4px 12px 4px 0;
    font-size: 11px;
    font-weight: 600;
}

.kac-routing-profile-fieldset input[type="checkbox"],
.kac-inline-checkset input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--kac-gold);
}

.kac-inline-checkset {
    grid-column: 1 / -1;
    padding: 10px 11px;
    border: 1px solid var(--kac-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .65);
}

.kac-inline-checkset > strong {
    display: block;
    margin-bottom: 5px;
    color: var(--kac-navy);
    font-size: 10px;
}

.kac-badge--routing-service,
.kac-badge--routing-language {
    font-size: 9px;
    letter-spacing: .01em;
}

.kac-badge--routing-service {
    border-color: rgba(150, 118, 45, .2);
    background: rgba(150, 118, 45, .08);
    color: #72591f;
}

.kac-badge--routing-language {
    border-color: rgba(15, 30, 54, .12);
    background: rgba(15, 30, 54, .05);
    color: var(--kac-navy);
}

@media (max-width: 860px) {
    .kac-topbar__actions .kac-sound-button {
        min-width: 34px;
        font-size: 0;
    }

    .kac-topbar__actions .kac-sound-button::before {
        content: "♪";
        font-size: 14px;
    }
}

/* ================================================================
   v0.14.1 Voucher / Itinerary Generator Refinements
   ================================================================ */
body.kac-portal-page .kac-voucher-launch {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid rgba(150,118,45,.44);
    border-radius: 10px;
    background: linear-gradient(135deg,#b99035,#8d6b22);
    color: #fff;
    font-weight: 800;
    letter-spacing: .01em;
    box-shadow: 0 8px 24px rgba(150,118,45,.2);
}
body.kac-portal-page .kac-voucher-launch:hover { filter: brightness(1.04); transform: translateY(-1px); }
body.kac-portal-page .kac-voucher-launch span { font-size: 20px; line-height: 1; }

.kac-voucher-generator:not([hidden]) { z-index: 100100; }
.kac-voucher-generator .kac-modal__backdrop {
    background: rgba(10,18,31,.48);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}
.kac-voucher-generator .kac-voucher-generator__card {
    width: min(1500px, calc(100vw - 34px)) !important;
    height: min(94vh, 980px) !important;
    max-width: none !important;
    max-height: 94vh !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fbfaf7 !important;
    border: 1px solid rgba(150,118,45,.28) !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 100px rgba(15,30,54,.28) !important;
}
.kac-voucher-generator__head {
    padding: 22px 28px 14px;
    border-bottom: 1px solid rgba(15,30,54,.08);
    background: linear-gradient(180deg,#fff,#fbfaf7);
}
.kac-voucher-generator__head h2 { margin: 3px 0 4px; color:#0f1e36; font-size: 25px; }
.kac-voucher-generator__head p:last-child { margin: 0; color:#6d7480; }
.kac-voucher-kind-tabs {
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 12px 28px;
    border-bottom: 1px solid rgba(15,30,54,.08);
    background:#fff;
}
body.kac-portal-page .kac-voucher-kind-tabs button {
    min-height: 44px;
    border:1px solid rgba(15,30,54,.12);
    border-radius:10px;
    background:#fff;
    color:#0f1e36;
    font-weight:800;
}
body.kac-portal-page .kac-voucher-kind-tabs button.is-active {
    color:#8a6721;
    border-color:#b78c32;
    box-shadow: inset 0 0 0 1px rgba(183,140,50,.16);
    background:#fffdf9;
}
.kac-voucher-generator__layout {
    display:grid;
    grid-template-columns:minmax(470px, 0.94fr) minmax(520px, 1.06fr);
    height: calc(100% - 142px);
    overflow:hidden;
}
.kac-voucher-form {
    overflow:auto;
    padding: 22px 26px 34px;
    background:#fff;
    border-right:1px solid rgba(15,30,54,.08);
}
.kac-voucher-form > label,
.kac-voucher-photo-fields > label,
.kac-voucher-form-grid > label {
    display:grid;
    gap:6px;
    margin: 0 0 13px;
}
.kac-voucher-form label > span,
.kac-voucher-fieldset legend {
    color:#0f1e36;
    font-weight:800;
    font-size:12px;
}
.kac-voucher-form label > span small { color:#7b8089; font-weight:500; }
body.kac-portal-page .kac-voucher-form input,
body.kac-portal-page .kac-voucher-form textarea,
body.kac-portal-page .kac-voucher-form select {
    width:100%;
    min-height:42px;
    border:1px solid rgba(15,30,54,.14);
    border-radius:9px;
    background:#fff;
    color:#1c1b1a;
    padding:9px 11px;
    box-shadow:none;
}
body.kac-portal-page .kac-voucher-form textarea { resize:vertical; min-height:76px; }
body.kac-portal-page .kac-voucher-form input:focus,
body.kac-portal-page .kac-voucher-form textarea:focus,
body.kac-portal-page .kac-voucher-form select:focus { border-color:#96762d; outline:3px solid rgba(150,118,45,.1); }
.kac-voucher-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.kac-voucher-span-2 { grid-column:1/-1; }
.kac-voucher-fieldset {
    margin: 5px 0 14px;
    padding: 14px 14px 2px;
    border:1px solid rgba(150,118,45,.18);
    border-radius:12px;
    background:#fffdf9;
}
.kac-voucher-fieldset legend { padding:0 6px; color:#96762d; }
.kac-voucher-dates label { position:relative; }
.kac-voucher-dates label > small { color:#6d7480; font-size:10px; font-weight:700; margin-top:2px; }
.kac-hotel-time-helper {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:-2px 0 14px;
    padding:12px 13px;
    border-radius:11px;
    background:#f7f4ef;
    border:1px solid rgba(150,118,45,.16);
}
.kac-hotel-time-helper > div { display:grid; gap:2px; }
.kac-hotel-time-helper strong { color:#0f1e36; font-size:12px; }
.kac-hotel-time-helper small { color:#6d7480; max-width:460px; }
body.kac-portal-page .kac-secondary-button {
    border:1px solid rgba(150,118,45,.44);
    background:#fff;
    color:#8b6923;
    font-weight:800;
}
.kac-voucher-photo-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kac-voucher-hotel-builder {
    margin: 4px 0 16px;
    padding: 14px;
    border:1px solid rgba(150,118,45,.22);
    border-radius:13px;
    background:linear-gradient(180deg,#fffdf9,#fff);
}
.kac-voucher-builder-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.kac-voucher-builder-head > div { display:grid; gap:3px; }
.kac-voucher-builder-head strong { color:#0f1e36; font-size:13px; }
.kac-voucher-builder-head small { color:#6d7480; line-height:1.4; }
.kac-voucher-hotel-photo-row,
.kac-voucher-room-media {
    display:grid;
    grid-template-columns:150px 1fr;
    gap:14px;
    align-items:stretch;
}
.kac-voucher-image-preview {
    min-height:112px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px dashed rgba(150,118,45,.34);
    border-radius:10px;
    background:#f7f4ef;
    color:#8a8173;
    text-align:center;
    font-size:11px;
}
.kac-voucher-image-preview.has-image { border-style:solid; background:#eee7da; }
.kac-voucher-image-preview img { width:100%; height:100%; min-height:112px; object-fit:cover; display:block; }
.kac-voucher-image-controls { display:grid; align-content:start; gap:8px; min-width:0; }
.kac-voucher-image-controls label { margin:0 !important; }
.kac-voucher-image-controls small,
.kac-voucher-room-card small { color:#6d7480; line-height:1.4; }
.kac-voucher-room-head { margin:18px 0 10px; padding-top:14px; border-top:1px solid rgba(15,30,54,.08); }
.kac-voucher-room-list { display:grid; gap:12px; }
.kac-voucher-room-card {
    position:relative;
    padding:14px;
    border:1px solid rgba(15,30,54,.11);
    border-radius:12px;
    background:#fff;
}
.kac-voucher-room-grid { display:grid; grid-template-columns:1.35fr .55fr 1.25fr; gap:0 10px; }
.kac-voucher-room-grid > label { display:grid; gap:6px; margin:0 0 11px; }
.kac-voucher-room-wide { grid-column:1/-1; }
.kac-voucher-room-remove {
    position:absolute;
    top:8px;
    right:8px;
    width:28px;
    height:28px;
    border:0 !important;
    border-radius:50%;
    background:#f7f4ef !important;
    color:#7d6b48 !important;
    font-size:18px;
    line-height:1;
    z-index:2;
}
.kac-voucher-room-buttons { display:flex; gap:8px; flex-wrap:wrap; }

.kac-tour-upload {
    margin: 2px 0 14px;
    padding:14px;
    border-radius:12px;
    border:1px dashed rgba(150,118,45,.44);
    background:#fffdf9;
}
.kac-tour-upload__actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.kac-tour-upload__actions small { color:#6d7480; }
.kac-voucher-issuer { margin-top:18px; }
body.kac-portal-page .kac-text-button {
    border:0;
    background:transparent;
    color:#8b6923;
    padding:4px 0 10px;
    font-weight:800;
}
.kac-voucher-form-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    padding-top:16px;
    border-top:1px solid rgba(15,30,54,.08);
}
.kac-voucher-preview-pane {
    min-width:0;
    overflow:auto;
    padding: 18px 20px 32px;
    background:#f2f0eb;
}
.kac-voucher-preview-empty {
    min-height:260px;
    display:grid;
    place-content:center;
    text-align:center;
    padding:30px;
    border:1px dashed rgba(15,30,54,.18);
    border-radius:15px;
    background:rgba(255,255,255,.55);
    color:#6d7480;
}
.kac-voucher-preview-empty strong { color:#0f1e36; font-size:18px; }
.kac-voucher-preview-wrap { overflow:auto; padding-bottom:10px; }
.kac-voucher-paper {
    width:min(794px,100%);
    min-height:1123px;
    margin:0 auto;
    background:#fffdf9;
    border:1px solid #dccba9;
    box-shadow:0 15px 50px rgba(15,30,54,.18);
    color:#1c1b1a;
    font-family:Montserrat,Arial,sans-serif;
    font-weight:500;
    overflow:hidden;
}
.kac-voucher-paper * { box-sizing:border-box; }
.kac-voucher-paper .kv-head {
    display:grid;
    grid-template-columns:180px 1fr 185px;
    gap:16px;
    align-items:center;
    padding:22px 26px 18px;
    border-bottom:1px solid #e7dcc5;
}
.kac-voucher-paper .kv-logo-wrap { width:160px; height:78px; display:flex; align-items:center; justify-content:flex-start; overflow:visible; }
.kac-voucher-paper .kv-logo { display:block; width:auto !important; height:auto !important; max-width:160px !important; max-height:74px !important; object-fit:contain; object-position:left center; }
.kac-voucher-paper .kv-title { text-align:center; }
.kac-voucher-paper .kv-title h1 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; color:#a77924; font-size:37px; letter-spacing:.02em; font-weight:600; }
.kac-voucher-paper .kv-title p { margin:3px 0 0; color:#7a7b7e; text-transform:uppercase; letter-spacing:.18em; font-size:12px; }
.kac-voucher-paper .kv-refs { border:1px solid #dfcda8; border-radius:9px; overflow:hidden; }
.kac-voucher-paper .kv-ref { display:flex; justify-content:space-between; gap:8px; padding:8px 9px; border-bottom:1px solid #eadfc9; font-size:9px; }
.kac-voucher-paper .kv-ref:last-child { border-bottom:0; }
.kac-voucher-paper .kv-ref span { text-transform:uppercase; color:#60646b; }
.kac-voucher-paper .kv-ref strong { color:#0f1e36; text-align:right; }
.kac-voucher-paper .kv-section { margin:13px 18px 0; border:1px solid #e7dcc5; border-radius:11px; background:rgba(255,255,255,.72); overflow:hidden; }
.kac-voucher-paper .kv-client-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; }
.kac-voucher-paper .kv-cell { padding:12px 15px; border-right:1px solid #eadfc9; }
.kac-voucher-paper .kv-cell:last-child { border-right:0; }
.kac-voucher-paper .kv-label { display:block; color:#676b70; font-size:8px; letter-spacing:.05em; text-transform:uppercase; font-weight:800; }
.kac-voucher-paper .kv-value { display:block; margin-top:4px; color:#0f1e36; font-family:"Cormorant Garamond",Georgia,serif; font-weight:700; font-size:18px; line-height:1.16; }
.kac-voucher-paper .kv-time { display:block; margin-top:5px; color:#96762d; font-size:9px; font-weight:800; }
.kac-voucher-paper .kv-two { display:grid; grid-template-columns:.55fr 1.85fr; border-top:1px solid #eadfc9; }
.kac-voucher-paper .kv-copy { margin:4px 0 0; white-space:pre-line; color:#2d3238; line-height:1.45; font-size:10.6px; font-weight:500; }
.kac-voucher-paper .kv-provider { display:grid; grid-template-columns:150px 1fr; align-items:start; padding:12px 15px; }
.kac-voucher-paper .kv-provider strong { color:#0f1e36; }
.kac-voucher-paper .kv-provider-lines { display:grid; gap:3px; color:#33383e; font-size:10.6px; font-weight:500; }
.kac-voucher-paper .kv-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:4px; background:#eee7da; }
.kac-voucher-paper .kv-photo-grid img { width:100%; height:145px; object-fit:cover; display:block; background:#eee; }
.kac-voucher-paper .kv-accommodation { background:#fff; }
.kac-voucher-paper .kv-accommodation-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; background:#eee7da; }
.kac-voucher-paper .kv-accommodation-media.is-single { grid-template-columns:1fr; }
.kac-voucher-paper .kv-accommodation-media.is-three { grid-template-columns:1.2fr 1fr 1fr; }
.kac-voucher-paper .kv-accommodation-media.is-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kac-voucher-paper .kv-media-item { position:relative; height:172px; overflow:hidden; background:#f3eee5; }
.kac-voucher-paper .kv-media-item img { width:100%; height:100%; display:block; }
.kac-voucher-paper .kv-hotel-hero img { object-fit:contain; object-position:center center; background:#f3eee5; }
.kac-voucher-paper .kv-room-image img { object-fit:cover; object-position:center center; }
.kac-voucher-paper .kv-media-caption { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:flex-end; justify-content:space-between; gap:8px; padding:20px 11px 9px; background:linear-gradient(transparent,rgba(10,18,31,.76)); color:#fff; }
.kac-voucher-paper .kv-media-caption strong { font:700 16px/1.08 "Cormorant Garamond",Georgia,serif; letter-spacing:.01em; }
.kac-voucher-paper .kv-media-caption span { font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; opacity:.9; }
.kac-voucher-paper .kv-room-description-list { background:#fff; }
.kac-voucher-paper .kv-room-description { padding:11px 15px 12px; border-top:1px solid #eadfc9; }
.kac-voucher-paper .kv-room-description-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:3px; }
.kac-voucher-paper .kv-room-description h3 { margin:0; color:#0f1e36; font:700 17px/1.12 "Cormorant Garamond",Georgia,serif; }
.kac-voucher-paper .kv-room-meta { color:#96762d; font-size:9.3px; font-weight:800; line-height:1.35; text-align:right; }
.kac-voucher-paper .kv-room-description p { margin:6px 0 0; color:#30353b; font-size:10.2px; line-height:1.42; font-weight:500; display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; overflow:hidden; }
.kac-voucher-paper .kv-image-failed { display:none !important; }
.kac-voucher-paper .kv-media-item.is-image-missing,
.kac-voucher-paper .kv-room-image.is-image-missing,
.kac-voucher-paper .kv-hotel-hero.is-image-missing { display:none; }

.kac-voucher-paper .kv-section-title { display:flex; align-items:center; justify-content:center; gap:12px; margin:16px 18px 7px; color:#0f1e36; font:700 20px/1.1 "Cormorant Garamond",Georgia,serif; letter-spacing:.08em; text-transform:uppercase; }
.kac-voucher-paper .kv-section-title:before,
.kac-voucher-paper .kv-section-title:after { content:""; width:52px; height:1px; background:#b68a34; }
.kac-voucher-paper .kv-inclusions { display:grid; grid-template-columns:1fr 1fr; gap:7px 22px; padding:13px 17px 15px; }
.kac-voucher-paper .kv-inclusion { display:flex; gap:7px; align-items:flex-start; color:#2e3338; font-size:10.5px; font-weight:500; }
.kac-voucher-paper .kv-inclusion:before { content:"✓"; display:grid; place-items:center; width:15px; height:15px; flex:0 0 15px; border-radius:50%; background:#a77924; color:#fff; font-size:9px; font-weight:900; }
.kac-voucher-paper .kv-days { margin:0 18px; border:1px solid #e7dcc5; border-radius:11px; overflow:hidden; background:#fff; }
.kac-voucher-paper .kv-day { display:grid; grid-template-columns:82px 1fr; border-bottom:1px solid #eadfc9; }
.kac-voucher-paper .kv-day:last-child { border-bottom:0; }
.kac-voucher-paper .kv-day-tag { padding:12px; background:#fbf8f2; border-right:1px solid #eadfc9; color:#96762d; font-weight:800; font-size:10px; text-transform:uppercase; }
.kac-voucher-paper .kv-day-tag span { display:block; color:#6d7480; font-weight:600; margin-top:3px; text-transform:none; }
.kac-voucher-paper .kv-day-body { padding:11px 14px; }
.kac-voucher-paper .kv-day-body h3 { margin:0 0 5px; color:#0f1e36; font:700 16px/1.15 "Cormorant Garamond",Georgia,serif; }
.kac-voucher-paper .kv-day-body ul { margin:0; padding-left:16px; color:#30353b; font-size:10px; line-height:1.45; font-weight:500; }
.kac-voucher-paper .kv-policy { padding:12px 15px; color:#30353b; white-space:pre-line; font-size:10.2px; line-height:1.45; font-weight:500; }
.kac-voucher-paper .kv-issued {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:15px 18px 0;
    padding:13px 15px;
    border-top:1px solid #dfcda8;
    border-bottom:1px solid #dfcda8;
}
.kac-voucher-paper .kv-issued strong { display:block; color:#0f1e36; margin-top:3px; font-weight:600; font-size:11px; letter-spacing:.005em; }
.kac-voucher-paper .kv-disclaimer { margin:11px 18px 0; color:#3f454b; font-size:10px; line-height:1.34; font-weight:500; }
.kac-voucher-paper .kv-disclaimer p { margin:0 0 6px; }
.kac-voucher-paper .kv-disclaimer p[dir="rtl"] { font-size:10.2px; line-height:1.48; }
.kac-voucher-paper .kv-footer { margin-top:10px; padding:10px 18px; background:#1c1d20; color:#eee; text-align:center; font-size:8px; line-height:1.4; }
.kac-voucher-paper .kv-footer strong { color:#d1ad60; letter-spacing:.05em; }
.kac-voucher-export-actions { display:flex; justify-content:center; gap:8px; margin:12px auto 0; }
body.kac-portal-page .kac-voucher-export-actions button { border:1px solid rgba(150,118,45,.38); background:#fff; color:#0f1e36; font-weight:800; }
body.kac-portal-page .kac-voucher-export-actions button:first-child,
body.kac-portal-page .kac-voucher-export-actions button:nth-child(2) { color:#8b6923; }

@media (max-width: 1180px) {
    .kac-voucher-generator__layout { grid-template-columns:1fr; overflow:auto; }
    .kac-voucher-form { overflow:visible; border-right:0; border-bottom:1px solid rgba(15,30,54,.08); }
    .kac-voucher-preview-pane { overflow:visible; }
    .kac-voucher-generator .kac-voucher-generator__card { overflow:auto !important; }
}
@media (max-width: 760px) {
    body.kac-portal-page .kac-voucher-launch { min-width:40px; padding:0 9px; font-size:0; }
    body.kac-portal-page .kac-voucher-launch span { font-size:20px; }
    .kac-voucher-generator:not([hidden]) { padding:0 !important; }
    .kac-voucher-generator .kac-voucher-generator__card { width:100vw !important; height:100vh !important; max-height:none !important; border-radius:0 !important; }
    .kac-voucher-generator__head { padding:17px 18px 11px; }
    .kac-voucher-generator__head h2 { font-size:21px; }
    .kac-voucher-kind-tabs { padding:9px 14px; }
    .kac-voucher-kind-tabs button { font-size:11px; }
    .kac-voucher-generator__layout { height:auto; }
    .kac-voucher-form { padding:18px 14px 28px; }
    .kac-voucher-form-grid,
    .kac-voucher-photo-fields,
    .kac-voucher-room-grid,
    .kac-voucher-hotel-photo-row,
    .kac-voucher-room-media { grid-template-columns:1fr; }
    .kac-voucher-span-2, .kac-voucher-room-wide { grid-column:auto; }
    .kac-hotel-time-helper { align-items:flex-start; flex-direction:column; }
    .kac-voucher-form-actions { flex-wrap:wrap; }
    .kac-voucher-preview-pane { padding:14px 8px 28px; }
    .kac-voucher-paper { width:794px; transform:scale(.43); transform-origin:top left; margin-bottom:-640px; }
    .kac-voucher-preview-wrap { width:100%; overflow:hidden; min-height:490px; }
    .kac-voucher-export-actions { flex-wrap:wrap; }
}
/* v0.14.4 exact A4 export/print composition. The service voucher is captured at
   794 x 1123px (210 x 297mm ratio) so PDF and real print use the full page width. */
.kac-voucher-paper.kv-a4-export {
    width:794px !important;
    min-height:1123px !important;
    height:1123px !important;
    max-height:1123px !important;
    display:flex;
    flex-direction:column;
    overflow:hidden !important;
    box-shadow:none !important;
}
.kac-voucher-paper.kv-a4-export .kv-footer { margin-top:auto; flex:0 0 auto; }
.kac-voucher-paper.kv-a4-export .kv-accommodation-media { grid-auto-rows:188px; }
.kac-voucher-paper.kv-a4-export .kv-media-item { height:188px; }
.kac-voucher-paper.kv-a4-export .kv-room-description p { -webkit-line-clamp:7; }

.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-head { padding-top:17px; padding-bottom:14px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-section { margin-top:10px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-section-title { margin-top:11px; margin-bottom:5px; font-size:18px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-cell { padding-top:9px; padding-bottom:9px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-provider { padding-top:9px; padding-bottom:9px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-accommodation-media { grid-auto-rows:165px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-media-item { height:165px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-room-description { padding-top:8px; padding-bottom:9px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-room-description p { margin-top:4px; line-height:1.34; -webkit-line-clamp:6; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-inclusions { padding-top:9px; padding-bottom:10px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-policy { padding-top:9px; padding-bottom:9px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-issued { margin-top:10px; padding-top:9px; padding-bottom:9px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer { margin-top:8px; font-size:9.6px; line-height:1.28; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer p[dir="rtl"] { font-size:9.8px; line-height:1.4; }

.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-head { padding-top:13px; padding-bottom:10px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-title h1 { font-size:33px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-section { margin-top:7px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-section-title { margin-top:8px; margin-bottom:3px; font-size:17px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-cell { padding-top:7px; padding-bottom:7px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-value { font-size:17px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-copy,
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-provider-lines { font-size:10px; line-height:1.35; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-provider { padding-top:7px; padding-bottom:7px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-accommodation-media { grid-auto-rows:142px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-media-item { height:142px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-room-description { padding-top:7px; padding-bottom:7px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-room-description h3 { font-size:16px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-room-description p { font-size:9.8px; line-height:1.3; -webkit-line-clamp:5; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-inclusions { padding-top:7px; padding-bottom:8px; gap:5px 18px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-policy { padding-top:7px; padding-bottom:7px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-issued { margin-top:7px; padding-top:7px; padding-bottom:7px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer { margin-top:6px; font-size:9.2px; line-height:1.24; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer p { margin-bottom:4px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer p[dir="rtl"] { font-size:9.4px; line-height:1.35; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-footer { padding-top:7px; padding-bottom:7px; }


/* v0.14.7 SAFE — Voucher A4 alignment and disclaimer-space refinement.
   Prevent direct flex children from being compressed inside the fixed A4 export;
   compression was causing the inclusions and cancellation rows to appear clipped.
   The disclaimer is intentionally smaller so core service content keeps priority. */
.kac-voucher-paper .kv-ref { align-items:center; line-height:1.22; }
.kac-voucher-paper .kv-provider { grid-template-columns:145px minmax(0,1fr); align-items:center; }
.kac-voucher-paper .kv-provider-lines { min-width:0; }
.kac-voucher-paper .kv-inclusions { align-items:start; }
.kac-voucher-paper .kv-inclusion { line-height:1.30; }
.kac-voucher-paper .kv-policy { line-height:1.36; }
.kac-voucher-paper .kv-disclaimer {
    margin:8px 18px 0;
    font-size:8px;
    line-height:1.24;
    font-weight:500;
}
.kac-voucher-paper .kv-disclaimer p { margin:0 0 4px; }
.kac-voucher-paper .kv-disclaimer p[dir="rtl"] { font-size:8.3px; line-height:1.34; }

/* Every direct content block keeps its natural height during A4 export.
   The fit routine can then correctly detect overflow and apply compact/tight mode,
   instead of silently crushing middle sections. */
.kac-voucher-paper.kv-a4-export > * { flex-shrink:0; }
.kac-voucher-paper.kv-a4-export .kv-footer { margin-top:auto; flex:0 0 auto; }

.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer {
    margin-top:6px;
    font-size:7.7px;
    line-height:1.20;
}
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer p { margin-bottom:3px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer p[dir="rtl"] { font-size:8px; line-height:1.29; }

.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer {
    margin-top:5px;
    font-size:7.2px;
    line-height:1.16;
}
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer p { margin-bottom:2px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer p[dir="rtl"] { font-size:7.5px; line-height:1.24; }

/* v0.14.1 Print A4 uses an isolated canvas print document from dashboard.js.
   Do not print the fixed dashboard/modal DOM directly; that caused repeated pages. */
@media print {
    @page { size:A4; margin:0; }
}

/* v0.15.0 SAFE — luxury voucher visual refresh with watermark and cleaner service layout */
.kac-voucher-paper { position:relative; }
.kac-voucher-paper .kv-watermark {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    z-index:0;
    overflow:hidden;
}
.kac-voucher-paper .kv-watermark img {
    width:68%;
    max-width:560px;
    height:auto;
    opacity:.055;
    object-fit:contain;
}
.kac-voucher-paper > *:not(.kv-watermark) { position:relative; z-index:1; }

.kac-voucher-paper .kv-head {
    gap:14px;
    padding:22px 24px 16px;
}
.kac-voucher-paper .kv-title h1 {
    font-size:35px;
    font-weight:700;
    letter-spacing:.03em;
}
.kac-voucher-paper .kv-title p {
    font-size:11.5px;
    letter-spacing:.2em;
}
.kac-voucher-paper .kv-refs {
    background:linear-gradient(135deg,#b88f3c 0%, #96762d 100%);
    border-color:#b38a39;
    box-shadow:0 8px 20px rgba(150,118,45,.18);
}
.kac-voucher-paper .kv-ref {
    align-items:center;
    line-height:1.25;
    border-bottom:1px solid rgba(255,255,255,.22);
}
.kac-voucher-paper .kv-ref span,
.kac-voucher-paper .kv-ref strong {
    color:#fff;
}
.kac-voucher-paper .kv-ref span { opacity:.92; }
.kac-voucher-paper .kv-ref strong { font-size:10px; }

.kac-voucher-paper .kv-section {
    background:rgba(255,253,249,.82);
    border-color:#e2d4ba;
}
.kac-voucher-paper .kv-client-grid { grid-template-columns:1.15fr .85fr .85fr; }
.kac-voucher-paper .kv-cell { padding:12px 15px; }
.kac-voucher-paper .kv-card {
    background:linear-gradient(135deg,#b88f3c 0%, #96762d 100%);
    color:#fff;
}
.kac-voucher-paper .kv-card .kv-label {
    color:rgba(255,255,255,.9);
    font-size:8.4px;
    letter-spacing:.08em;
}
.kac-voucher-paper .kv-card .kv-value {
    color:#fff;
    font-size:17px;
    line-height:1.16;
}
.kac-voucher-paper .kv-card .kv-value--small { font-size:16px; }
.kac-voucher-paper .kv-card .kv-time {
    color:#fff3cf;
    font-size:9px;
    line-height:1.3;
}
.kac-voucher-paper .kv-service-layout {
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    border-top:1px solid #eadfc9;
}
.kac-voucher-paper .kv-service-layout .kv-cell {
    border-right:1px solid rgba(255,255,255,.22);
}
.kac-voucher-paper .kv-service-layout .kv-provider-card {
    border-right:0;
}
.kac-voucher-paper .kv-service-layout .kv-service-description {
    grid-column:1 / -1;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.22);
    min-height:68px;
}
.kac-voucher-paper .kv-copy {
    margin-top:5px;
    white-space:pre-line;
    color:#fff;
    line-height:1.42;
    font-size:10.2px;
    font-weight:500;
}
.kac-voucher-paper .kv-provider-card .kv-provider-lines {
    display:grid;
    gap:3px;
    min-width:0;
    color:#fff;
    font-size:10.2px;
    line-height:1.36;
    font-weight:500;
    overflow-wrap:anywhere;
}
.kac-voucher-paper .kv-provider-card .kv-provider-lines strong {
    color:#fff;
    font-size:12.2px;
    line-height:1.24;
    letter-spacing:.01em;
}

.kac-voucher-paper .kv-section-title {
    margin-top:14px;
    margin-bottom:7px;
    font-size:19px;
}
.kac-voucher-paper .kv-inclusions { padding:12px 16px 13px; }
.kac-voucher-paper .kv-inclusion {
    font-size:10.2px;
    line-height:1.32;
}
.kac-voucher-paper .kv-policy {
    padding:11px 15px;
    color:#30353b;
    font-size:10.1px;
    line-height:1.4;
}
.kac-voucher-paper .kv-issued {
    gap:12px;
    margin-top:13px;
    padding:12px 0;
}
.kac-voucher-paper .kv-issued-card {
    background:linear-gradient(135deg,#b88f3c 0%, #96762d 100%);
    border-radius:10px;
    padding:10px 14px;
    margin:0 15px;
}
.kac-voucher-paper .kv-issued-card .kv-label {
    color:rgba(255,255,255,.88);
    font-size:8.4px;
    letter-spacing:.08em;
}
.kac-voucher-paper .kv-issued-card strong {
    color:#fff;
    margin-top:4px;
    font-size:11px;
    font-weight:600;
}
.kac-voucher-paper .kv-disclaimer {
    margin:7px 18px 0;
    color:#41464b;
    font-size:8px !important;
    line-height:1.24;
    font-weight:500;
}
.kac-voucher-paper .kv-disclaimer p { margin:0 0 3px; }
.kac-voucher-paper .kv-disclaimer p[dir="rtl"] {
    font-size:8px !important;
    line-height:1.36;
}
.kac-voucher-paper .kv-footer {
    margin-top:8px;
    padding:9px 18px;
    font-size:7.8px;
    line-height:1.35;
}

.kac-voucher-paper.kv-a4-export .kv-watermark img { width:66%; max-width:540px; opacity:.05; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-title h1 { font-size:33px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-card .kv-value { font-size:16px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-provider-card .kv-provider-lines,
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-copy,
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-inclusion,
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-policy { font-size:9.8px; line-height:1.33; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-service-description { min-height:62px; }
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer {
    margin-top:6px;
    font-size:7.7px !important;
    line-height:1.18;
}
.kac-voucher-paper.kv-a4-export.kv-a4-compact .kv-disclaimer p[dir="rtl"] {
    font-size:7.7px !important;
    line-height:1.28;
}

.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-head { padding-top:14px; padding-bottom:10px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-title h1 { font-size:31px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-card .kv-value { font-size:15px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-provider-card .kv-provider-lines,
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-copy,
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-inclusion,
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-policy { font-size:9.4px; line-height:1.3; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-service-description { min-height:56px; }
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer {
    margin-top:5px;
    font-size:7.4px !important;
    line-height:1.14;
}
.kac-voucher-paper.kv-a4-export.kv-a4-tight .kv-disclaimer p[dir="rtl"] {
    font-size:7.4px !important;
    line-height:1.22;
}

/* ======================================================================
   KAPICO Travel Voucher v15 — approved luxury A4 layout
   Everything is scoped beneath .kapico-voucher-v15 to isolate it from
   WordPress themes and other plugins.
   ====================================================================== */
.kapico-voucher-v15 {
    --kapico-page:#F7F4EF;
    --kapico-card:#D9D9D9;
    --kapico-charcoal:#2A2D31;
    --kapico-gold:#B08A44;
    --kapico-white:#FFFFFF;
    --kapico-text:#2A2D31;
    position:relative;
    width:min(794px,100%);
    min-height:1123px;
    padding:18px;
    background:var(--kapico-page) !important;
    border:1.25px solid var(--kapico-gold) !important;
    border-radius:0;
    color:var(--kapico-text);
    font-family:Montserrat,Arial,sans-serif;
    font-weight:500;
    box-shadow:0 14px 38px rgba(42,45,49,.12);
    overflow:visible;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
}
.kapico-voucher-v15 * { box-sizing:border-box; }

/* Header */
.kapico-voucher-v15 .kv-head {
    display:grid;
    grid-template-columns:170px minmax(0,1fr) 190px;
    gap:14px;
    align-items:center;
    padding:4px 2px 14px;
    border:0;
}
.kapico-voucher-v15 .kv-logo-wrap {
    width:auto;
    height:auto;
    min-height:92px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:visible;
    text-align:center;
}
.kapico-voucher-v15 .kv-logo {
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:146px !important;
    max-height:72px !important;
    object-fit:contain;
    object-position:center;
}
.kapico-voucher-v15 .kv-slogan {
    margin-top:5px;
    color:var(--kapico-gold);
    font-size:7.2px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.115em;
    text-transform:uppercase;
    white-space:nowrap;
}
.kapico-voucher-v15 .kv-title { text-align:center; }
.kapico-voucher-v15 .kv-title h1 {
    margin:0;
    color:var(--kapico-charcoal);
    font-family:Montserrat,Arial,sans-serif;
    font-size:33px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:.01em;
    white-space:nowrap;
}
.kapico-voucher-v15 .kv-refs {
    overflow:hidden;
    background:var(--kapico-charcoal) !important;
    border:1.5px solid var(--kapico-gold) !important;
    border-radius:10px;
    box-shadow:none;
}
.kapico-voucher-v15 .kv-ref {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:7px 10px;
    border:0;
    border-bottom:1px solid rgba(176,138,68,.75);
    background:var(--kapico-charcoal) !important;
    font-size:8.6px;
    line-height:1.2;
}
.kapico-voucher-v15 .kv-ref:last-child { border-bottom:0; }
.kapico-voucher-v15 .kv-ref span {
    color:var(--kapico-white) !important;
    font-size:8.4px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.02em;
}
.kapico-voucher-v15 .kv-ref strong {
    color:var(--kapico-white) !important;
    font-size:9.4px;
    font-weight:700;
    text-align:right;
    overflow-wrap:anywhere;
}

/* Shared floating cards */
.kapico-voucher-v15 .kv-client-grid,
.kapico-voucher-v15 .kv-service-grid,
.kapico-voucher-v15 .kv-summary-grid,
.kapico-voucher-v15 .kv-issued {
    margin:0;
}
.kapico-voucher-v15 .kv-client-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.kapico-voucher-v15 .kv-service-grid {
    display:grid;
    grid-template-columns:34fr 66fr;
    gap:10px;
    margin-top:10px;
}
.kapico-voucher-v15 .kv-service-description { grid-column:1 / -1; }
.kapico-voucher-v15 .kv-info-card,
.kapico-voucher-v15 .kv-dark-card {
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
    border-radius:10px;
    padding:11px 12px;
    break-inside:avoid;
    page-break-inside:avoid;
}
.kapico-voucher-v15 .kv-info-card {
    min-height:88px;
    background:var(--kapico-card) !important;
    border:1.2px solid var(--kapico-gold) !important;
    box-shadow:none;
}
.kapico-voucher-v15 .kv-service-description {
    min-height:72px;
    align-items:center;
}
.kapico-voucher-v15 .kv-card-content {
    min-width:0;
    flex:1 1 auto;
}
.kapico-voucher-v15 .kv-card-title {
    display:block;
    margin:0 0 4px;
    color:var(--kapico-gold);
    font-family:Montserrat,Arial,sans-serif;
    font-size:10.4px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.kapico-voucher-v15 .kv-card-value {
    display:block;
    color:var(--kapico-charcoal);
    font-family:Montserrat,Arial,sans-serif;
    font-size:13.2px;
    line-height:1.26;
    font-weight:600;
    overflow-wrap:anywhere;
}
.kapico-voucher-v15 .kv-card-value--provider { font-size:13px; }
.kapico-voucher-v15 .kv-support,
.kapico-voucher-v15 .kv-provider-support {
    display:block;
    margin-top:4px;
    color:var(--kapico-charcoal);
    font-size:9.2px;
    line-height:1.35;
    font-weight:500;
    overflow-wrap:anywhere;
}
.kapico-voucher-v15 .kv-provider-support span { display:block; }
.kapico-voucher-v15 .kv-card-copy {
    color:var(--kapico-charcoal);
    font-size:10px;
    line-height:1.4;
    font-weight:500;
    white-space:pre-line;
    overflow-wrap:anywhere;
}

/* Flat outlined icons — intentionally no gloss, bevel, fill or icon shadow. */
.kapico-voucher-v15 .kv-icon-circle {
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border:1.4px solid var(--kapico-gold);
    border-radius:50%;
    background:var(--kapico-card) !important;
    color:var(--kapico-gold);
    box-shadow:none !important;
}
.kapico-voucher-v15 .kv-icon-circle svg {
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}

/* Decorative section heading */
.kapico-voucher-v15 .kv-section-title {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:14px 0 8px;
    color:var(--kapico-charcoal);
    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:22px;
    line-height:1.05;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.kapico-voucher-v15 .kv-section-title::before,
.kapico-voucher-v15 .kv-section-title::after {
    content:"";
    width:54px;
    height:1px;
    background:var(--kapico-gold);
}

/* Accommodation images and information panel */
.kapico-voucher-v15 .kv-accommodation-block {
    overflow:hidden;
    break-inside:avoid;
    page-break-inside:avoid;
    border-radius:10px;
    background:var(--kapico-card) !important;
    border:1.2px solid var(--kapico-gold) !important;
    box-shadow:none;
}
.kapico-voucher-v15 .kv-accommodation-media {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
    padding:4px;
    background:transparent;
    border:0;
    border-radius:0;
    overflow:hidden;
}
.kapico-voucher-v15 .kv-accommodation-media.is-single { grid-template-columns:1fr; }
.kapico-voucher-v15 .kv-media-item {
    position:relative;
    height:150px;
    overflow:hidden;
    background:#ece8e1;
}
.kapico-voucher-v15 .kv-media-item img,
.kapico-voucher-v15 .kv-hotel-hero img,
.kapico-voucher-v15 .kv-room-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center center;
}
.kapico-voucher-v15 .kv-media-caption {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:8px;
    padding:19px 10px 7px;
    background:linear-gradient(to bottom,rgba(42,45,49,0),rgba(42,45,49,.82));
    color:var(--kapico-white);
}
.kapico-voucher-v15 .kv-media-caption strong {
    color:var(--kapico-white);
    font-family:Montserrat,Arial,sans-serif;
    font-size:12.2px;
    line-height:1.15;
    font-weight:700;
}
.kapico-voucher-v15 .kv-media-caption span {
    color:var(--kapico-white);
    font-size:7.5px;
    line-height:1.1;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.kapico-voucher-v15 .kv-room-description-list {
    position:relative;
    overflow:hidden;
    background:var(--kapico-card) !important;
    border:0;
    border-top:1px solid rgba(176,138,68,.35);
    border-radius:0 0 10px 10px;
    box-shadow:none;
}
.kapico-voucher-v15 .kv-accommodation-watermark {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    z-index:0;
}
.kapico-voucher-v15 .kv-accommodation-watermark img {
    display:block;
    width:32%;
    max-width:210px;
    max-height:90%;
    object-fit:contain;
    opacity:.04;
}
.kapico-voucher-v15 .kv-room-description {
    position:relative;
    z-index:1;
    padding:10px 14px 11px;
    border-top:1px solid rgba(176,138,68,.22);
    background:transparent;
}
.kapico-voucher-v15 .kv-room-description:first-of-type { border-top:0; }
.kapico-voucher-v15 .kv-room-description .kv-label {
    display:block;
    color:var(--kapico-gold);
    font-size:9px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.kapico-voucher-v15 .kv-room-description-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:12px;
    margin-top:4px;
}
.kapico-voucher-v15 .kv-room-description h3 {
    margin:0;
    color:var(--kapico-charcoal);
    font-family:Montserrat,Arial,sans-serif;
    font-size:13.5px;
    line-height:1.25;
    font-weight:700;
    overflow-wrap:anywhere;
}
.kapico-voucher-v15 .kv-room-meta {
    color:var(--kapico-gold);
    font-size:9px;
    line-height:1.3;
    font-weight:700;
    text-align:right;
    max-width:235px;
}
.kapico-voucher-v15 .kv-room-description p {
    display:block;
    margin:5px 0 0;
    color:var(--kapico-charcoal);
    font-size:10px;
    line-height:1.38;
    font-weight:500;
    overflow:visible;
    -webkit-line-clamp:unset;
    -webkit-box-orient:initial;
}

/* Inclusions + cancellation */
.kapico-voucher-v15 .kv-summary-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:10px;
}
.kapico-voucher-v15 .kv-summary-card { min-height:70px; }
.kapico-voucher-v15 .kv-card-icon { flex:0 0 auto; }
.kapico-voucher-v15 .kv-summary-card .kv-card-copy { font-size:9.8px; line-height:1.34; }

/* Issuer / contact */
.kapico-voucher-v15 .kv-issued {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:0;
    border:0;
    margin-top:10px;
}
.kapico-voucher-v15 .kv-dark-card {
    min-height:62px;
    background:var(--kapico-charcoal) !important;
    border:1px solid rgba(176,138,68,.78);
    box-shadow:none;
}
.kapico-voucher-v15 .kv-dark-card .kv-icon-circle {
    background:var(--kapico-charcoal) !important;
    border-color:var(--kapico-gold);
    color:var(--kapico-gold);
}
.kapico-voucher-v15 .kv-dark-card .kv-card-title { color:var(--kapico-gold); }
.kapico-voucher-v15 .kv-dark-card strong {
    display:block;
    margin-top:1px;
    color:var(--kapico-white);
    font-size:12px;
    line-height:1.25;
    font-weight:600;
    overflow-wrap:anywhere;
}

/* Disclaimer */
.kapico-voucher-v15 .kv-disclaimer {
    margin:8px 2px 0;
    color:var(--kapico-charcoal);
    font-family:Montserrat,Arial,sans-serif;
    font-size:8px !important;
    line-height:1.28;
    font-weight:500;
}
.kapico-voucher-v15 .kv-disclaimer p {
    margin:0 0 4px;
    font-size:8px !important;
    line-height:1.28;
}
.kapico-voucher-v15 .kv-disclaimer p[dir="rtl"] {
    margin-bottom:0;
    color:var(--kapico-charcoal);
    font-family:"Noto Sans Arabic",Arial,sans-serif;
    font-size:8px !important;
    line-height:1.48;
    font-weight:500;
    text-align:right;
    direction:rtl;
}

/* Footer + partner */
.kapico-voucher-v15 .kv-footer {
    display:grid;
    gap:2px;
    margin-top:8px;
    padding:8px 14px;
    background:var(--kapico-charcoal) !important;
    border:1px solid var(--kapico-gold);
    border-radius:9px;
    color:var(--kapico-white);
    text-align:center;
    font-size:8px;
    line-height:1.28;
    box-shadow:none;
}
.kapico-voucher-v15 .kv-footer strong {
    color:var(--kapico-gold);
    font-size:9px;
    letter-spacing:.035em;
}
.kapico-voucher-v15 .kv-footer span { color:var(--kapico-white); }
.kapico-voucher-v15 .kv-partner-logo {
    min-height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:5px;
}
.kapico-voucher-v15 .kv-partner-logo img {
    display:block;
    width:auto;
    height:auto;
    max-width:165px;
    max-height:32px;
    object-fit:contain;
}

/* Generic service/tour blocks retained from existing functionality */
.kapico-voucher-v15 .kv-section,
.kapico-voucher-v15 .kv-days {
    break-inside:avoid;
    page-break-inside:avoid;
}
.kapico-voucher-v15 .kv-photo-grid img { object-fit:cover; }

/* A4 export: force the approved desktop composition even if generated on mobile. */
.kapico-voucher-v15.kv-a4-export {
    width:794px !important;
    min-height:1123px !important;
    padding:18px !important;
    border:1.25px solid var(--kapico-gold) !important;
    background:var(--kapico-page) !important;
    box-shadow:none !important;
}
.kapico-voucher-v15.kv-a4-export .kv-client-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.kapico-voucher-v15.kv-a4-export .kv-service-grid { grid-template-columns:34fr 66fr !important; }
.kapico-voucher-v15.kv-a4-export .kv-summary-grid,
.kapico-voucher-v15.kv-a4-export .kv-issued { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.kapico-voucher-v15.kv-a4-export .kv-accommodation-media { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.kapico-voucher-v15.kv-a4-export .kv-accommodation-media.is-single { grid-template-columns:1fr !important; }

/* Compact modes keep the same design language, only reduce space. */
.kapico-voucher-v15.kv-a4-export.kv-a4-compact { padding:15px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-head { padding-bottom:10px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-logo-wrap { min-height:82px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-logo { max-height:64px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-title h1 { font-size:31px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-info-card { min-height:78px; padding:9px 10px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-icon-circle { width:44px; height:44px; flex-basis:44px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-icon-circle svg { width:23px; height:23px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-section-title { margin-top:10px; margin-bottom:6px; font-size:20px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-media-item { height:132px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-room-description { padding:8px 12px 9px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-summary-grid,
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-issued,
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-service-grid { margin-top:8px; gap:8px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-disclaimer { margin-top:6px; font-size:8px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-disclaimer p,
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-disclaimer p[dir="rtl"] { font-size:8px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-footer { margin-top:6px; padding:7px 12px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-partner-logo { margin-top:3px; min-height:24px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-partner-logo img { max-height:28px; }

.kapico-voucher-v15.kv-a4-export.kv-a4-tight { padding:13px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-head { padding-top:2px; padding-bottom:8px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-logo-wrap { min-height:75px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-logo { max-height:58px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-slogan { font-size:6.7px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-title h1 { font-size:29px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-ref { min-height:30px; padding:5px 8px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-info-card { min-height:70px; padding:8px 9px; gap:9px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-icon-circle { width:40px; height:40px; flex-basis:40px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-icon-circle svg { width:21px; height:21px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-card-title { font-size:9.7px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-card-value { font-size:12.2px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-support,
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-provider-support { font-size:8.7px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-card-copy { font-size:9.3px; line-height:1.32; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-section-title { margin-top:8px; margin-bottom:5px; font-size:19px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-media-item { height:112px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-room-description { padding:7px 11px 8px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-room-description h3 { font-size:12.5px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-room-description p { font-size:9.3px; line-height:1.3; margin-top:4px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-summary-grid,
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-issued,
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-service-grid { margin-top:6px; gap:7px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-summary-card { min-height:61px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-dark-card { min-height:55px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-disclaimer { margin-top:5px; font-size:8px !important; line-height:1.2; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-disclaimer p { margin-bottom:2px; font-size:8px !important; line-height:1.2; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-disclaimer p[dir="rtl"] { font-size:8px !important; line-height:1.34; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-footer { margin-top:5px; padding:6px 10px; font-size:7.6px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-partner-logo { margin-top:2px; min-height:22px; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-partner-logo img { max-width:145px; max-height:24px; }

/* Live preview responsiveness only. Export reverts to the A4 rules above. */
@media (max-width:760px) {
    .kac-voucher-paper.kapico-voucher-v15:not(.kv-a4-export) {
        width:100% !important;
        min-height:0;
        padding:14px;
        transform:none !important;
        margin-bottom:0 !important;
    }
    .kac-voucher-preview-wrap { overflow-x:hidden; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-head { grid-template-columns:1fr; text-align:center; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-logo-wrap { justify-self:center; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-title h1 { white-space:normal; font-size:29px; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-refs { width:100%; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-client-grid,
    .kapico-voucher-v15:not(.kv-a4-export) .kv-service-grid,
    .kapico-voucher-v15:not(.kv-a4-export) .kv-summary-grid,
    .kapico-voucher-v15:not(.kv-a4-export) .kv-issued { grid-template-columns:1fr; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-service-description { grid-column:auto; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-accommodation-media { grid-template-columns:1fr; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-room-description-head { grid-template-columns:1fr; }
    .kapico-voucher-v15:not(.kv-a4-export) .kv-room-meta { max-width:none; text-align:left; }
}

@page { size:A4 portrait; margin:0; }

/* v15 export specificity guards against legacy v14 A4 rules. */
.kapico-voucher-v15 { box-sizing:border-box; }
.kapico-voucher-v15.kv-a4-export {
    display:block !important;
    box-sizing:border-box !important;
}
.kapico-voucher-v15.kv-a4-export .kv-accommodation-media {
    grid-auto-rows:auto !important;
}
.kapico-voucher-v15.kv-a4-export .kv-media-item {
    height:150px !important;
}
.kapico-voucher-v15.kv-a4-export .kv-footer {
    margin-top:8px !important;
}
.kapico-voucher-v15.kv-a4-export.kv-a4-compact .kv-media-item { height:132px !important; }
.kapico-voucher-v15.kv-a4-export.kv-a4-tight .kv-media-item { height:112px !important; }
/* Ensure icon symbols remain antique gold in browser/canvas/PDF rendering. */
.kapico-voucher-v15 .kv-icon-circle svg,
.kapico-voucher-v15 .kv-dark-card .kv-icon-circle svg {
    stroke:#B08A44 !important;
    color:#B08A44 !important;
    fill:none !important;
}

/* Export / print stability guards for JPEG, PDF and print preview */
.kapico-voucher-v15.kv-a4-export,
.kapico-voucher-v15.kv-a4-export .kv-info-card,
.kapico-voucher-v15.kv-a4-export .kv-dark-card,
.kapico-voucher-v15.kv-a4-export .kv-accommodation-block,
.kapico-voucher-v15.kv-a4-export .kv-room-description-list,
.kapico-voucher-v15.kv-a4-export .kv-media-item,
.kapico-voucher-v15.kv-a4-export .kv-footer,
.kapico-voucher-v15.kv-a4-export .kv-refs {
    background-clip:padding-box !important;
}
.kapico-voucher-v15.kv-a4-export {
    overflow:visible !important;
    box-shadow:none !important;
}
.kapico-voucher-v15.kv-a4-export .kv-info-card,
.kapico-voucher-v15.kv-a4-export .kv-dark-card,
.kapico-voucher-v15.kv-a4-export .kv-accommodation-block {
    transform:translateZ(0);
}
.kapico-voucher-v15.kv-a4-export .kv-accommodation-block {
    margin:0 1px;
}
.kapico-voucher-v15.kv-a4-export .kv-info-card,
.kapico-voucher-v15.kv-a4-export .kv-dark-card,
.kapico-voucher-v15.kv-a4-export .kv-summary-card,
.kapico-voucher-v15.kv-a4-export .kv-refs,
.kapico-voucher-v15.kv-a4-export .kv-footer {
    margin:0 1px;
}

/* v0.15.2 SAFE – simplified export-safe light cards */
.kapico-voucher-v15 .kv-info-card,
.kapico-voucher-v15 .kv-summary-card,
.kapico-voucher-v15 .kv-accommodation-block,
.kapico-voucher-v15 .kv-room-description-list {
    background-image:none !important;
    outline:none !important;
}
.kapico-voucher-v15 .kv-info-card,
.kapico-voucher-v15 .kv-summary-card {
    border-radius:10px;
}
.kapico-voucher-v15 .kv-accommodation-media {
    padding:5px;
    gap:5px;
}
.kapico-voucher-v15 .kv-room-description {
    background:transparent !important;
}
.kapico-voucher-v15.kv-a4-export .kv-info-card,
.kapico-voucher-v15.kv-a4-export .kv-summary-card,
.kapico-voucher-v15.kv-a4-export .kv-accommodation-block,
.kapico-voucher-v15.kv-a4-export .kv-room-description-list,
.kapico-voucher-v15.kv-a4-export .kv-refs,
.kapico-voucher-v15.kv-a4-export .kv-dark-card,
.kapico-voucher-v15.kv-a4-export .kv-footer {
    box-shadow:none !important;
    filter:none !important;
}
.kapico-voucher-v15.kv-a4-export .kv-info-card,
.kapico-voucher-v15.kv-a4-export .kv-summary-card,
.kapico-voucher-v15.kv-a4-export .kv-accommodation-block {
    border:1.2px solid var(--kapico-gold) !important;
}

/* v0.15.4 SAFE — saved voucher retrieval / edit lock */
.kac-voucher-retrieve {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 16px;
    align-items:center;
    padding:10px 16px;
    border-top:1px solid rgba(150,118,45,.18);
    border-bottom:1px solid rgba(150,118,45,.22);
    background:#fbf8f2;
}
.kac-voucher-retrieve > div:first-child { min-width:0; }
.kac-voucher-retrieve strong {
    display:block;
    color:#0f1e36;
    font-size:12px;
    font-weight:800;
}
.kac-voucher-retrieve small {
    display:block;
    margin-top:2px;
    color:#6b7078;
    font-size:10px;
    line-height:1.35;
}
.kac-voucher-retrieve__actions {
    display:flex;
    align-items:center;
    gap:7px;
}
.kac-voucher-retrieve__actions input {
    width:145px;
    min-height:36px;
    border:1px solid rgba(150,118,45,.35);
    border-radius:8px;
    background:#fff;
    padding:7px 10px;
    font:600 11px/1.2 Montserrat,Arial,sans-serif;
    color:#1c1b1a;
}
.kac-voucher-retrieve__status {
    grid-column:1 / -1;
    margin:0;
    min-height:16px;
    color:#7b5f24;
    font-size:10px;
    font-weight:600;
}
.kac-voucher-kind-tabs button:disabled {
    opacity:.48;
    cursor:not-allowed;
}
@media (max-width:760px) {
    .kac-voucher-retrieve { grid-template-columns:1fr; }
    .kac-voucher-retrieve__actions { flex-wrap:wrap; }
    .kac-voucher-retrieve__actions input { width:100%; }
}

/* v0.15.6 SAFE — clearer saved-voucher retrieval control */
.kac-voucher-retrieve {
    position:relative;
    z-index:3;
    display:grid !important;
    background:#f7f4ef;
}
body.kac-portal-page .kac-voucher-retrieve__actions [data-kac-voucher-retrieve-button] {
    min-height:36px;
    padding:8px 13px;
    border:1px solid #96762d;
    border-radius:8px;
    background:#96762d;
    color:#fff;
    font-weight:800;
    white-space:nowrap;
}
body.kac-portal-page .kac-voucher-retrieve__actions [data-kac-voucher-new-button] {
    min-height:36px;
    padding:8px 10px;
    border-radius:8px;
}

/* v0.15.7 SAFE — full-screen voucher workspace and robust vertical layout.
   Header, document tabs and retrieval bar keep their natural heights; the
   form/preview workspace consumes the remaining viewport without overlap. */
.kac-voucher-generator .kac-voucher-generator__card {
    width:calc(100vw - 20px) !important;
    height:calc(100vh - 20px) !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:16px !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
}
.kac-voucher-generator__head,
.kac-voucher-kind-tabs,
.kac-voucher-retrieve {
    flex:0 0 auto;
}
.kac-voucher-generator__head {
    padding:16px 24px 10px;
}
.kac-voucher-generator__head h2 {
    font-size:23px;
}
.kac-voucher-kind-tabs {
    padding:9px 24px;
}
.kac-voucher-retrieve {
    grid-template-columns:minmax(280px,1fr) auto;
    padding:9px 24px;
    gap:8px 18px;
}
.kac-voucher-retrieve__status {
    min-height:0;
}
.kac-voucher-generator__layout {
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    display:grid;
    grid-template-columns:minmax(540px,.92fr) minmax(700px,1.08fr);
    overflow:hidden;
}
.kac-voucher-form,
.kac-voucher-preview-pane {
    min-height:0;
    height:100%;
    overflow:auto;
}
.kac-voucher-form {
    padding:20px 26px 36px;
}
.kac-voucher-preview-pane {
    padding:18px 26px 32px;
}
.kac-voucher-preview-wrap {
    min-width:0;
    overflow:auto;
}

@media (max-width:1280px) {
    .kac-voucher-generator__layout {
        grid-template-columns:minmax(480px,.95fr) minmax(560px,1.05fr);
    }
}

@media (max-width:1000px) {
    .kac-voucher-generator .kac-voucher-generator__card {
        width:100vw !important;
        height:100vh !important;
        border-radius:0 !important;
    }
    .kac-voucher-retrieve {
        grid-template-columns:1fr;
    }
    .kac-voucher-retrieve__actions {
        justify-content:flex-start;
        flex-wrap:wrap;
    }
    .kac-voucher-generator__layout {
        grid-template-columns:1fr;
        overflow:auto;
    }
    .kac-voucher-form,
    .kac-voucher-preview-pane {
        height:auto;
        overflow:visible;
    }
}
