.profile-edit-grid {
    grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr);
    align-items: start;
}

.profile-edit-form {
    max-width: none;
    overflow: hidden;
}

.profile-password-section {
    border-top: 1px solid var(--line);
}

.profile-form-submit {
    padding: 0 24px 25px;
}

.official-brand {
    justify-content: center;
    padding: 0;
}

.brand-logo {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.sidebar > .official-brand .brand-logo {
    width: 88px;
    height: 88px;
    border-radius: 17px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .24);
}

.sidebar > .official-brand + .sidebar-label {
    padding-top: 14px;
}

.login-official-brand {
    width: 168px;
    align-self: flex-start;
}

.pwa-install-card {
    margin-top: 20px;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
}

.pwa-install-card[hidden] { display: none; }

.pwa-install-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 12px 26px rgba(83, 66, 218, .24);
}

.pwa-install-icon img { width: 100%; height: 100%; display: block; object-fit: cover; }
.pwa-install-copy h2 { margin: 3px 0 4px; font-size: 18px; }
.pwa-install-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 11px; }
.pwa-install-copy .pwa-install-note { margin-top: 5px; font-size: 9px; }

@media (max-width: 650px) {
    .pwa-install-card { grid-template-columns: auto minmax(0, 1fr); padding: 18px; }
    .pwa-install-card .button { grid-column: 1 / -1; width: 100%; }
}

/* Externí posádka a transparentní kalkulace mzdových nákladů akce. */
.crew-person-external { border-style: dashed; background: #fbfaff; }
.crew-person-external .avatar,
.external-crew-row .avatar { width: 34px; height: 34px; border-radius: 10px; background: #eeebff; color: #6453e7; font-size: 12px; }
.external-crew-badge { flex: 0 0 auto; padding: 4px 7px; border-radius: 7px; background: #eeebff; color: #5c4adc; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.external-crew-manager { padding: 20px; border-top: 1px solid var(--line); background: #faf9ff; }
.external-crew-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.external-crew-heading h3 { margin: 2px 0 0; font-size: 15px; }
.external-crew-heading > span { min-width: 29px; height: 29px; display: grid; place-items: center; padding: 0 8px; border-radius: 9px; background: #e9e5ff; color: #5c4adc; font-size: 10px; font-weight: 850; }
.external-crew-manager > p { margin: 7px 0 16px; color: var(--muted); font-size: 10px; }
.external-crew-form { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(150px, .7fr) auto; align-items: end; gap: 10px; }
.external-crew-form .field { margin: 0; }
.external-crew-form input,
.external-crew-form select { width: 100%; height: 42px; }
.external-crew-form .button { min-height: 42px; }
.external-crew-list { display: grid; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.external-crew-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px; border: 1px solid #e5e1ff; border-radius: 12px; background: #fff; }
.external-crew-row strong,
.external-crew-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.external-crew-row strong { font-size: 11px; }
.external-crew-row small { color: var(--muted); font-size: 9px; }
.external-crew-row form { margin: 0; }
.financial-list .financial-total { background: #faf9ff; }
.financial-list .financial-total dt { color: #6655e7; font-weight: 850; }
.financial-list .financial-grand-total { margin: 0 -20px; padding: 14px 20px; background: #eeebff; }
.financial-list .financial-grand-total dd { color: #5544d4; font-size: 17px; }

@media (max-width: 700px) {
    .external-crew-manager { padding: 17px; }
    .external-crew-form { grid-template-columns: 1fr; }
    .external-crew-form .button { width: 100%; }
}

/* Skutečná poslední aktivita pracovníků. */
.online-dot.activity-online { background: #2fc98b; }
.online-dot.activity-recent { background: #f0a42a; }
.online-dot.activity-offline { background: #9da5b7; }
.online-dot.activity-unknown { background: #d7dae2; }
.person-activity {
    min-height: 34px;
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    margin-top: 11px;
    padding: 7px 9px;
    border-radius: 10px;
    background: #f7f8fb;
    color: #858da0;
    text-align: left;
}
.person-activity > i { font-size: 10px; }
.person-activity > span { font-size: 9px; }
.person-activity > strong {
    overflow: hidden;
    color: #4d566a;
    font-size: 10px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.person-activity.activity-online { background: #e8f8f1; color: #16875b; }
.person-activity.activity-online > strong { color: #137b51; }
.person-activity.activity-recent { background: #fff5e5; color: #bd7610; }
.person-activity.activity-recent > strong { color: #9e620d; }
.profile-activity { display: inline-flex; align-items: center; gap: 6px; }
.profile-activity > i { width: 7px; height: 7px; border-radius: 50%; background: #a7adbb; }
.profile-activity.activity-online { background: #e5f8ef; color: #147e53; }
.profile-activity.activity-online > i { background: #28bd80; box-shadow: 0 0 0 3px rgba(40, 189, 128, .13); }
.profile-activity.activity-recent { background: #fff2df; color: #ae6a0b; }
.profile-activity.activity-recent > i { background: #e99a20; }

/* Jednořádkový popis nemá na kartě rezervovat prázdnou výšku. */
.event-card .event-description { min-height: 0; margin-bottom: 0; }

/* Miniatura fotografie v přehledu akcí. */
.event-card-summary {
    min-width: 0;
}

.event-card-summary.has-image {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 68px;
    align-items: start;
    gap: 14px;
}

.event-card-copy { min-width: 0; }

.event-card-thumbnail {
    position: relative;
    width: 68px;
    height: 68px;
    margin-top: 15px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e1e4ed;
    border-radius: 14px;
    background: #eef0f6;
    box-shadow: 0 5px 14px rgba(20, 29, 55, .1);
    cursor: zoom-in;
}

.event-card-thumbnail img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .2s ease, opacity .2s ease;
}

.event-card-thumbnail > span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(9, 14, 29, .48);
    color: #fff;
    font-size: 15px;
    opacity: 0;
    transition: opacity .18s ease;
}

.event-card-thumbnail:hover img,
.event-card-thumbnail:focus-visible img { opacity: .78; transform: scale(1.06); }
.event-card-thumbnail:hover > span,
.event-card-thumbnail:focus-visible > span { opacity: 1; }
.event-card-thumbnail:focus-visible { outline: 3px solid #aaa1ff; outline-offset: 2px; }

.hero-card .dashboard-pwa-message {
    max-width: 720px;
    margin: 12px 0 0;
    color: #f3f5ff;
    font-size: clamp(17px, 1.55vw, 22px);
    font-weight: 750;
    line-height: 1.42;
    letter-spacing: -.02em;
}

@media (max-width: 480px) {
    .event-card-summary.has-image { grid-template-columns: minmax(0, 1fr) 62px; gap: 11px; }
    .event-card-thumbnail { width: 62px; height: 62px; border-radius: 13px; }
    .hero-card .dashboard-pwa-message { font-size: 17px; }
}

.service-attention-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.service-attention-card {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
}

.service-attention-card > span {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #efedff;
    color: #6555e7;
}

.service-attention-card strong,
.service-attention-card small { display: block; }
.service-attention-card strong { color: var(--ink); font-size: 20px; line-height: 1; }
.service-attention-card small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.service-attention-card.overdue > span { background: #ffe8ed; color: #c73652; }
.service-attention-card.today > span { background: #fff1dc; color: #c57b13; }
.service-attention-card.soon > span { background: #e8f3fb; color: #327fa8; }
.service-attention-card.mine > span { background: #e2f7ed; color: #168556; }

.service-overdue-badge {
    padding: 5px 8px;
    border-radius: 8px;
    background: #ffe8ed;
    color: #b92f4a;
    font-size: 9px;
    font-weight: 800;
}

@media (max-width: 850px) {
    .service-attention-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
    .service-attention-grid { grid-template-columns: 1fr; }
}

.finance-breakdown {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 11px;
    margin: -5px 0 20px;
}

.finance-breakdown-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    transition: transform .16s, border-color .16s, box-shadow .16s;
}

.finance-breakdown-item:hover {
    transform: translateY(-2px);
    border-color: #c9c3fb;
    box-shadow: 0 9px 24px rgba(20, 29, 55, .07);
}

.finance-breakdown-item > i {
    width: 33px;
    height: 33px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #efedff;
    color: #6555e7;
}

.finance-breakdown-item > span,
.finance-breakdown-item strong {
    min-width: 0;
    display: block;
}

.finance-breakdown-item > span {
    color: var(--muted);
    font-size: 9px;
}

.finance-breakdown-item strong {
    margin-top: 2px;
    overflow: hidden;
    color: var(--ink);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-breakdown-item.income > i { background: #e2f7ed; color: #168556; }
.finance-breakdown-item.operations > i { background: #fff2df; color: #c77b12; }
.finance-breakdown-item.investments > i { background: #e5f6f6; color: #138989; }
.finance-breakdown-item.expenses > i { background: #ffe8ed; color: #c93d58; }
.finance-breakdown-item.payroll > i { background: #e8f3fb; color: #327fa8; }
.finance-breakdown-item.loans > i { background: #eef0f5; color: #65718b; }

.finance-month-row td {
    padding: 0;
    border-top: 0;
    background: #f2f3f8 !important;
}

.finance-month-row:hover td {
    background: #f2f3f8 !important;
}

.finance-month-summary {
    display: grid;
    grid-template-columns: minmax(190px, .75fr) minmax(520px, 2.25fr);
    align-items: center;
    gap: 20px;
    padding: 15px 18px;
    border-top: 1px solid #dadee9;
    border-bottom: 1px solid #dadee9;
}

.finance-month-title {
    display: flex;
    align-items: center;
    gap: 11px;
}

.finance-month-icon {
    width: 37px;
    height: 37px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    background: #fff;
    color: #6252e7;
    box-shadow: 0 3px 12px rgba(30, 38, 65, .05);
}

.finance-month-title strong,
.finance-month-title small {
    display: block;
}

.finance-month-title strong {
    color: var(--ink);
    font-size: 14px;
}

.finance-month-title small {
    margin-top: 1px;
    color: var(--muted);
    font-size: 8px;
}

.finance-month-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr .8fr;
    gap: 0;
}

.finance-month-metrics > span {
    min-width: 0;
    padding: 0 15px;
    border-left: 1px solid #dce0e9;
}

.finance-month-metrics small,
.finance-month-metrics strong,
.finance-month-metrics em {
    display: block;
}

.finance-month-metrics small {
    color: #7d8497;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.finance-month-metrics strong {
    margin-top: 2px;
    font-size: 13px;
}

.finance-month-metrics em {
    margin-top: 2px;
    overflow: hidden;
    color: #8990a1;
    font-size: 8px;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .profile-edit-grid { grid-template-columns: 1fr; }
    .finance-breakdown { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 850px) {
    .finance-month-summary { grid-template-columns: 1fr; gap: 12px; }
    .finance-month-metrics > span:first-child { border-left: 0; padding-left: 0; }
}

@media (max-width: 650px) {
    .finance-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finance-month-row { padding: 0; }
    .finance-month-row td { display: block; padding: 0; }
    .finance-month-row td::before { content: none; }
    .finance-month-summary { padding: 14px; }
    .finance-month-metrics { grid-template-columns: 1fr; gap: 9px; }
    .finance-month-metrics > span,
    .finance-month-metrics > span:first-child { padding: 9px 0 0; border-top: 1px solid #dce0e9; border-left: 0; }
    .finance-month-metrics em { white-space: normal; }
}

/* Zprávy z veřejného webu */
.nav-unread-badge {
    min-width: 20px;
    height: 20px;
    margin-left: auto;
    padding: 0 6px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #e64f69;
    color: #fff;
    font-size: 9px;
    font-weight: 850;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(230, 79, 105, .28);
}
.nav-unread-badge[hidden],
.topbar-message-alert > span[hidden] { display: none; }

.topbar-message-alert {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    color: #8b92a5;
    transition: .18s ease;
}

.topbar-message-alert:hover,
.topbar-message-alert.has-unread {
    border-color: #cfc8ff;
    background: #f2efff;
    color: #6555e7;
}

.topbar-message-alert > span {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #e64f69;
    color: #fff;
    font-size: 8px;
    font-weight: 850;
}

.web-messages-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 17px;
    margin-bottom: 20px;
    padding: 21px 23px;
}

.web-messages-summary-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: #eef0f6;
    color: #7a8297;
    font-size: 18px;
}

.web-messages-summary.has-unread .web-messages-summary-icon { background: #eeebff; color: #6555e7; }
.web-messages-summary h2 { margin: 2px 0 1px; font-size: 18px; }
.web-messages-summary p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 11px; }
.web-messages-summary form,
.message-card-actions form { margin: 0; }

.message-card-actions {
    min-width: max-content;
    display: grid;
    justify-items: end;
    gap: 9px;
}

.web-message-toast {
    position: fixed;
    z-index: 90;
    top: 108px;
    right: 24px;
    width: min(360px, calc(100vw - 30px));
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    border: 1px solid #dcd7ff;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(22, 29, 55, .18);
    opacity: 0;
    transform: translateY(-12px);
    transition: .22s ease;
}

.web-message-toast.is-visible { opacity: 1; transform: translateY(0); }
.web-message-toast > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #eeebff; color: #6555e7; }
.web-message-toast strong,
.web-message-toast small { display: block; }
.web-message-toast strong { color: var(--ink); font-size: 12px; }
.web-message-toast small { margin-top: 2px; color: var(--muted); font-size: 9px; }

@media (max-width: 650px) {
    .topbar-actions { gap: 9px; }
    .topbar .today { display: none; }
    .web-messages-summary { grid-template-columns: auto minmax(0, 1fr); padding: 17px; }
    .web-messages-summary form { grid-column: 1 / -1; }
    .web-messages-summary .button { width: 100%; }
    .message-card { flex-wrap: wrap; }
    .message-card-actions { width: 100%; grid-template-columns: auto minmax(0, 1fr); align-items: center; justify-items: start; }
    .message-card-actions form { justify-self: end; }
    .message-card-actions .unread-badge { position: static; }
    .web-message-toast { top: 78px; right: 15px; }
}

/* Osobní centrum oznámení */
.topbar-notification-alert {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    color: #8b92a5;
    transition: .18s ease;
}

.topbar-notification-alert:hover,
.topbar-notification-alert.has-unread { border-color: #cfc8ff; background: #f2efff; color: #6555e7; }
.topbar-notification-alert > span {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #e64f69;
    color: #fff;
    font-size: 8px;
    font-weight: 850;
}
.topbar-notification-alert > span[hidden],
[data-notification-badge][hidden] { display: none; }

.notification-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 17px;
    margin-bottom: 18px;
    padding: 21px 23px;
}
.notification-summary-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #eef0f6;
    color: #7a8297;
    font-size: 20px;
}
.notification-summary.has-unread .notification-summary-icon { background: #eeebff; color: #6555e7; }
.notification-summary h2 { margin: 2px 0 1px; font-size: 19px; }
.notification-summary p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 11px; }
.notification-summary form { margin: 0; }

.notification-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.notification-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.notification-filter { padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #697187; font-size: 10px; font-weight: 750; }
.notification-filter:hover { border-color: #cbc5fa; color: #5c4add; }
.notification-filter.active { border-color: #7565ed; background: #6b5bea; color: #fff; box-shadow: 0 6px 16px rgba(90, 73, 220, .18); }
.notification-kind-form { margin: 0; }
.notification-kind-form select { min-width: 180px; }
.notification-list { display: grid; gap: 11px; }
.notification-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 17px 19px; transition: .16s ease; }
.notification-card.is-unread { border-color: #d8d3fc; background: linear-gradient(100deg, #fff, #fbfaff); box-shadow: 0 9px 28px rgba(61, 48, 151, .07); }
.notification-card.is-read { box-shadow: none; }
.notification-card-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; font-size: 17px; }
.notification-card-icon.event { background: #e8f3fb; color: #2f82ad; }
.notification-card-icon.service { background: #fff2df; color: #d88913; }
.notification-card-icon.chat { background: #efedff; color: #6757ec; }
.notification-card-icon.message { background: #ffe9ee; color: #ce405c; }
.notification-card-icon.system { background: #eef0f6; color: #687186; }
.notification-card-main { min-width: 0; }
.notification-card-meta { display: flex; align-items: center; gap: 9px; color: #8b92a4; font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.notification-card-meta time { padding-left: 9px; border-left: 1px solid var(--line); font-weight: 600; letter-spacing: 0; text-transform: none; }
.notification-card h2 { margin: 4px 0 1px; font-size: 14px; }
.notification-card p { margin: 0; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.notification-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.notification-card-actions form { margin: 0; }
.notification-new { padding: 4px 7px; border-radius: 99px; background: #ffe8ed; color: #bc3651; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.notification-empty { padding: 38px 20px; }

.notification-toast {
    position: fixed;
    z-index: 92;
    top: 108px;
    right: 24px;
    width: min(380px, calc(100vw - 30px));
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    border: 1px solid #dcd7ff;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(22, 29, 55, .18);
    opacity: 0;
    transform: translateY(-12px);
    transition: .22s ease;
}
.notification-toast.is-visible { opacity: 1; transform: translateY(0); }
.notification-toast > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #eeebff; color: #6555e7; }
.notification-toast strong, .notification-toast small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notification-toast strong { color: var(--ink); font-size: 12px; }
.notification-toast small { margin-top: 2px; color: var(--muted); font-size: 9px; }

@media (max-width: 700px) {
    .notification-summary { grid-template-columns: auto minmax(0, 1fr); padding: 17px; }
    .notification-summary form { grid-column: 1 / -1; }
    .notification-summary .button { width: 100%; }
    .notification-toolbar { align-items: stretch; flex-direction: column; }
    .notification-kind-form select { width: 100%; }
    .notification-card { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 15px; }
    .notification-card-actions { grid-column: 1 / -1; width: 100%; }
    .notification-card-actions .button { flex: 1; }
    .notification-card p { white-space: normal; }
    .notification-toast { top: 78px; right: 15px; }
}

/* Larger, optically centred dashboard glyphs. */
.stat-icon {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 28px;
}

.stat-icon .sc-icon {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.stat-icon .sc-icon::before {
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    text-align: center;
}

.assignment-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
    padding: 22px 24px;
    border-left: 4px solid var(--accent);
}

.assignment-banner h2 { margin: 3px 0 1px; font-size: 21px; }
.assignment-banner p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 11px; }
.panel-head-actions,
.document-actions { display: flex; align-items: center; gap: 8px; }
.document-actions { margin-left: 6px; flex-wrap: wrap; justify-content: flex-end; }
.document-actions form { margin: 0; }
.rider-upload-grid { align-items: start; }
.remove-file { display: flex!important; align-items: center; gap: 7px; margin-top: 7px; color: #b13a50; font-size: 10px!important; font-weight: 650; }
.remove-file input { width: 15px; height: 15px; margin: 0; }

.list-loader {
    margin-top: 12px;
    border: 1px solid var(--line);
    border-radius: 13px;
    box-shadow: 0 5px 18px rgba(20, 29, 55, .025);
}

@media (max-width: 760px) {
    .assignment-banner { align-items: flex-start; flex-direction: column; }
    .document-actions { width: 100%; margin-left: 64px; justify-content: flex-start; }
    .panel-head-actions { align-items: flex-end; flex-direction: column; }
}

@media (max-width: 650px) {
    .stat-icon { width: 54px; height: 54px; flex-basis: 54px; font-size: 28px; }
    .document-actions { margin-left: 0; }
}

.chat-settings-panel { overflow: hidden; }
.chat-settings-body { display: grid; gap: 18px; padding: 22px; }
.chat-settings-state { display: flex; align-items: center; gap: 14px; }
.chat-settings-state > div { min-width: 0; }
.chat-settings-state strong { display: block; font-size: 14px; }
.chat-settings-state p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.chat-settings-facts { margin: 0; border-block: 1px solid var(--line); }
.chat-settings-facts > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.chat-settings-facts > div:first-child { border-top: 0; }
.chat-settings-facts dt { color: var(--muted); font-size: 10px; }
.chat-settings-facts dd { margin: 0; }
.chat-notification-form { display: grid; gap: 13px; }
.settings-toggle { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 46px; align-items: center; gap: 14px; cursor: pointer; }
.settings-toggle span strong, .settings-toggle span small { display: block; }
.settings-toggle span strong { color: var(--ink); font-size: 11px; }
.settings-toggle span small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.settings-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.settings-toggle > i { width: 46px; height: 26px; padding: 3px; display: block; border-radius: 99px; background: #dfe3eb; transition: .18s; }
.settings-toggle > i::after { content: ""; width: 20px; height: 20px; display: block; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(25, 33, 56, .2); transition: .18s; }
.settings-toggle input:checked + i { background: #6a59eb; }
.settings-toggle input:checked + i::after { transform: translateX(20px); }
.settings-toggle input:focus-visible + i { box-shadow: 0 0 0 3px #dcd8ff; }
.settings-toggle input:disabled + i { opacity: .48; }
.settings-warning, .settings-safe { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fff3df; color: #9a6314; font-size: 9px; }
.settings-warning.is-live { background: #ffe8ed; color: #ae344d; }
.settings-safe { background: #e3f7ed; color: #15764e; }
.settings-warning i, .settings-safe i { margin-right: 5px; }

/* Modern attendance history. */
.history-intro {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 20px;
    padding: 22px 24px;
}

.history-intro-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    flex: 0 0 54px;
    border-radius: 16px;
    background: #efedff;
    color: #6555e7;
    font-size: 23px;
}

.history-intro h2 { margin: 3px 0 2px; font-size: 21px; }
.history-intro p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 11px; }
.history-toolbar { align-items: flex-start; }
.history-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.history-card { overflow: hidden; scroll-margin-top: 112px; }
.history-card-head { display: flex; justify-content: space-between; gap: 18px; padding: 20px 21px 16px; }
.history-card-head > div:first-child { min-width: 0; }
.history-card-head h2 { margin: 9px 0 4px; overflow: hidden; font-size: 18px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.history-card-head p { margin: 0; color: #626a7d; font-size: 11px; }
.history-card-head p i { margin-right: 4px; color: var(--accent); }
.history-card-date { display: grid; align-content: start; flex: 0 0 auto; text-align: right; }
.history-card-date strong { font-size: 11px; }
.history-card-date a { margin-top: 7px; color: #6252e1; font-size: 9px; font-weight: 750; }
.history-card-summary { display: grid; gap: 9px; padding: 13px 21px; border-block: 1px solid var(--line); background: #fafbfe; }
.history-card-summary > span { color: #60687c; font-size: 10px; }
.history-card-summary > span i { margin-right: 5px; color: #6555e7; }
.history-crew-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-height: 23px; }
.history-crew-preview span,
.history-crew-preview small { padding: 4px 7px; border-radius: 99px; background: #e5f7ef; color: #147750; font-size: 8px; font-weight: 750; }
.history-crew-preview small { background: #eff1f6; color: #71798b; }
.history-crew-preview em { color: #989faf; font-size: 9px; font-style: normal; }
.history-attendance summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 21px; color: #343b50; font-size: 10px; font-weight: 800; cursor: pointer; list-style: none; }
.history-attendance summary::-webkit-details-marker { display: none; }
.history-attendance summary span { color: #6757e9; font-size: 9px; }
.history-attendance[open] summary { border-bottom: 1px solid var(--line); }
.history-attendance[open] summary span::before { content: "Sbalit"; }
.history-attendance[open] summary span { font-size: 0; }
.history-attendance[open] summary span::before { font-size: 9px; }
.history-feedback { display: none; margin: 12px 18px 0; padding: 8px 10px; border-radius: 8px; background: #e5f7ef; color: #147750; font-size: 9px; }
.history-feedback.is-visible { display: block; }
.history-feedback.is-error { background: #ffe8ed; color: #a72f47; }
.history-attendance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 14px 18px 18px; }
.history-attendance-grid form { margin: 0; }
.history-person-toggle { width: 100%; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; transition: .16s; }
.history-person-toggle:hover { border-color: #cfcafb; background: #fbfaff; }
.history-person-toggle .avatar { width: 32px; height: 32px; border-radius: 10px; font-size: 10px; }
.history-person-toggle span:nth-child(2) { min-width: 0; }
.history-person-toggle strong,
.history-person-toggle small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-person-toggle strong { font-size: 10px; }
.history-person-toggle small { margin-top: 1px; color: #9399a8; font-size: 8px; }
.history-person-toggle > i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; background: #fff0e8; color: #d35e37; font-size: 9px; }
.history-person-toggle.is-attending { border-color: #bfead7; background: #f2fbf7; }
.history-person-toggle.is-attending > i { background: #d9f6e9; color: #118052; }
.history-person-toggle[disabled] { opacity: .6; cursor: wait; }
.event-detail-grid.visitor-detail { grid-template-columns: 1fr; }

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

@media (max-width: 650px) {
    .history-intro { align-items: flex-start; padding: 18px; }
    .history-toolbar { align-items: stretch; }
    .history-toolbar .search-form,
    .history-toolbar .search-box,
    .history-toolbar select { width: 100%; min-width: 0; }
    .history-card-head { align-items: flex-start; flex-direction: column; }
    .history-card-date { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; }
    .history-card-date a { margin-top: 0; }
    .history-attendance-grid { grid-template-columns: 1fr; }
}
.settings-warning code { font-size: 8px; }
.chat-notification-form .button { width: max-content; }
.chat-notification-form .button:disabled { opacity: .45; cursor: not-allowed; transform: none; }

@media (max-width: 650px) {
    .chat-settings-state { align-items: flex-start; }
    .settings-toggle { grid-template-columns: minmax(0, 1fr) 46px; }
    .chat-notification-form .button { width: 100%; }
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.calendar-panel { position: relative; }
.calendar-panel.is-loading .calendar-head,
.calendar-panel.is-loading .calendar-scroll { opacity: .48; }
.calendar-panel.is-loading::after {
    content: "Načítám kalendář…";
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 5;
    padding: 9px 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .96);
    color: var(--ink);
    box-shadow: var(--shadow);
    font-size: 11px;
    font-weight: 750;
    transform: translate(-50%, -50%);
}

.event-detail-image-button {
    position: relative;
    width: min(38%, 480px);
    min-height: 260px;
    flex: 0 0 auto;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #090e1d;
    color: #fff;
    cursor: zoom-in;
}

.event-detail-image-button .event-detail-image {
    width: 100%;
    height: 100%;
    min-height: 260px;
    display: block;
    object-fit: cover;
    transition: transform .2s ease, opacity .2s ease;
}

.event-detail-image-button > span {
    position: absolute;
    right: 13px;
    bottom: 13px;
    padding: 7px 10px;
    border-radius: 9px;
    background: rgba(9, 14, 29, .78);
    font-size: 9px;
    font-weight: 800;
    opacity: 0;
    transform: translateY(4px);
    transition: .18s ease;
}

.event-detail-image-button:hover .event-detail-image,
.event-detail-image-button:focus-visible .event-detail-image { opacity: .82; transform: scale(1.02); }
.event-detail-image-button:hover > span,
.event-detail-image-button:focus-visible > span { opacity: 1; transform: translateY(0); }
.event-detail-image-button:focus-visible { outline: 3px solid #8d7fff; outline-offset: -3px; }

@media (max-width: 700px) {
    .event-detail-image-button { width: 100%; min-height: 210px; }
    .event-detail-image-button .event-detail-image { height: 210px; min-height: 210px; }
    .event-detail-image-button > span { opacity: 1; transform: none; }
}

.company-chat {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 90;
}

.company-chat-trigger {
    position: relative;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 19px;
    background: linear-gradient(135deg, #7a6af8, #5544d7);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    box-shadow: 0 13px 35px rgba(74, 57, 210, .36);
    transition: transform .18s, box-shadow .18s;
}

.company-chat-trigger:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(74, 57, 210, .42);
}

.chat-trigger-close { display: none; }
.company-chat.is-open .chat-trigger-open { display: none; }
.company-chat.is-open .chat-trigger-close { display: inline-block; }

.company-chat-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    border: 3px solid var(--bg);
    border-radius: 99px;
    background: #dd4f68;
    color: #fff;
    font-size: 9px;
    font-weight: 850;
}

.company-chat-badge[hidden] { display: none; }

.company-chat-panel {
    position: absolute;
    right: 0;
    bottom: 74px;
    width: min(390px, calc(100vw - 32px));
    height: min(610px, calc(100vh - 130px));
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
    overflow: hidden;
    border: 1px solid rgba(221, 224, 235, .95);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(15, 23, 43, .22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(.98);
    transform-origin: bottom right;
    transition: opacity .18s, visibility .18s, transform .18s;
}

.company-chat.is-open .company-chat-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.company-chat-head {
    min-height: 76px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: linear-gradient(120deg, #11182b, #252c4a);
    color: #fff;
}

.company-chat-head-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(135deg, #8374fb, #5a49df);
    font-size: 17px;
}

.company-chat-head strong,
.company-chat-head span {
    display: block;
}

.company-chat-head strong { font-size: 14px; }
.company-chat-head span { margin-top: 2px; color: #9ea9c0; font-size: 9px; }
.company-chat-head span i { width: 6px; height: 6px; display: inline-block; margin-right: 4px; border-radius: 50%; background: #36c98d; }

.company-chat-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .08);
    color: #aeb8cc;
    cursor: pointer;
}

.company-chat-toolbar {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-bottom: 1px solid var(--line);
    background: #fafbfe;
    color: #939aad;
    font-size: 8px;
}

.company-chat-toolbar button {
    border: 0;
    background: transparent;
    color: #5e4dde;
    font-size: 9px;
    font-weight: 750;
    cursor: pointer;
}

.company-chat-toolbar button:not([hidden]) + span { display: none; }

.company-chat-messages {
    min-height: 0;
    overflow-y: auto;
    padding: 16px 13px;
    background: linear-gradient(180deg, #f7f8fc, #fff);
    overscroll-behavior: contain;
}

.company-chat-loading,
.company-chat-empty {
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 30px;
    color: #9299aa;
    text-align: center;
    font-size: 10px;
}

.company-chat-message {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: end;
    gap: 8px;
    margin-top: 12px;
}

.company-chat-message:first-child { margin-top: 0; }

.company-chat-avatar {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #e9e6ff;
    color: #5d4cdd;
    font-size: 9px;
    font-weight: 850;
}

.company-chat-message-body { min-width: 0; max-width: 86%; }
.company-chat-message-meta { display: flex; align-items: center; gap: 9px; padding: 0 3px 3px; }
.company-chat-message-meta strong { color: #596176; font-size: 8px; }
.company-chat-message-meta time { margin-left: auto; color: #a0a6b4; font-size: 7px; }

.company-chat-message p {
    margin: 0;
    padding: 10px 12px;
    overflow-wrap: anywhere;
    border: 1px solid #e6e9f1;
    border-radius: 5px 14px 14px 14px;
    background: #fff;
    color: #3f475b;
    font-size: 11px;
    line-height: 1.45;
    white-space: pre-wrap;
    box-shadow: 0 4px 13px rgba(25, 34, 60, .035);
}

.company-chat-message.is-own {
    grid-template-columns: minmax(0, 1fr);
    justify-items: end;
}

.company-chat-message.is-own .company-chat-avatar { display: none; }
.company-chat-message.is-own .company-chat-message-body { max-width: 82%; }
.company-chat-message.is-own .company-chat-message-meta { flex-direction: row-reverse; }
.company-chat-message.is-own .company-chat-message-meta time { margin: 0 auto 0 0; }
.company-chat-message.is-own p { border: 0; border-radius: 14px 5px 14px 14px; background: linear-gradient(135deg, #7565f5, #5a49dd); color: #fff; }

.company-chat-error {
    padding: 7px 13px;
    border-top: 1px solid #ffd5de;
    background: #fff0f3;
    color: #b63851;
    font-size: 9px;
}

.company-chat-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: end;
    gap: 8px;
    padding: 10px 11px 7px;
    border-top: 1px solid var(--line);
    background: #fff;
}

.company-chat-form textarea {
    width: 100%;
    min-height: 42px;
    max-height: 110px;
    resize: none;
    padding: 11px 12px;
    border: 1px solid #e1e4ed;
    border-radius: 13px;
    outline: 0;
    color: var(--ink);
    font: inherit;
    font-size: 11px;
    line-height: 1.45;
}

.company-chat-form textarea:focus { border-color: #a69cfb; box-shadow: 0 0 0 3px #efedff; }

.company-chat-form button {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #7565f5, #5948dd);
    color: #fff;
    cursor: pointer;
}

.company-chat-form button:disabled { opacity: .55; cursor: wait; }
.company-chat-hint { display: flex; justify-content: space-between; padding: 0 13px 9px; color: #a0a6b5; font-size: 7px; }

.company-chat-unavailable {
    grid-row: 2 / -1;
    display: grid;
    place-items: center;
    align-content: center;
    padding: 35px;
    color: var(--muted);
    text-align: center;
}

.company-chat-unavailable > i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: #fff0dd; color: #c77b12; font-size: 19px; }
.company-chat-unavailable strong { margin-top: 14px; color: var(--ink); }
.company-chat-unavailable p { font-size: 10px; }
.company-chat-unavailable code { font-size: 8px; }

@media (max-width: 650px) {
    .company-chat { right: 15px; bottom: 15px; }
    .company-chat-trigger { width: 54px; height: 54px; border-radius: 17px; }
    .company-chat-panel { position: fixed; right: 12px; bottom: 80px; width: calc(100vw - 24px); height: min(620px, calc(100dvh - 96px)); border-radius: 20px; }
    .company-chat-form textarea { font-size: 16px; }
}

/* Bezpečný prohlížeč riderů a stageplanů. */
.rider-file-actions {
    position: relative;
}

.rider-file-actions > summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.rider-file-actions > summary::-webkit-details-marker { display: none; }
.rider-file-actions[open] > summary { background: #e8e5ff; color: #5a49dc; }
.file-chip-caret { margin-left: 1px; color: #9299aa; font-size: 11px; transition: transform .16s; }
.rider-file-actions[open] .file-chip-caret { transform: rotate(180deg); }

.rider-file-popover {
    position: absolute;
    z-index: 12;
    top: calc(100% + 7px);
    right: 0;
    min-width: 145px;
    overflow: hidden;
    padding: 5px;
    border: 1px solid #e0e3ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 38px rgba(25, 33, 58, .16);
}

.rider-file-popover button,
.rider-file-popover a {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #50596d;
    text-align: left;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}

.rider-file-popover button:hover,
.rider-file-popover a:hover { background: #f0edff; color: #5b4add; }
.rider-file-popover button + a { border-top: 1px solid #eff1f5; }
.rider-documents-section { position: relative; z-index: 5; overflow: visible; }
.rider-documents-section .event-rider-row:last-child .rider-file-popover { top: auto; bottom: calc(100% + 7px); }

.rider-viewer[hidden] { display: none; }
.rider-viewer { position: fixed; inset: 0; z-index: 100; width: 100%; max-width: 100vw; overflow: hidden; display: grid; place-items: center; padding: 26px; }
.rider-viewer-backdrop { position: absolute; inset: 0; background: rgba(9, 14, 29, .74); backdrop-filter: blur(5px); }
.rider-viewer-dialog {
    position: relative;
    width: min(1180px, 96vw);
    max-width: 100%;
    min-width: 0;
    height: min(850px, 92vh);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 21px;
    background: #f3f5fa;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .36);
}

.rider-viewer-head {
    min-width: 0;
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 17px 14px 21px;
    border-bottom: 1px solid #e2e5ed;
    background: #fff;
}

.rider-viewer-head h2 { max-width: 65vw; margin: 2px 0 0; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.rider-viewer-head > div:first-child { min-width: 0; flex: 1; }
.rider-viewer-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.rider-viewer-actions [data-rider-viewer-download][hidden] { display: none; }
.rider-viewer-close { width: 38px; height: 38px; border: 0; border-radius: 11px; background: #eceef4; color: #626a7e; font-size: 23px; line-height: 1; cursor: pointer; }
.rider-viewer-close:hover { background: #e4e0ff; color: #5948db; }
.rider-viewer-content { position: relative; min-width: 0; min-height: 0; overflow: hidden; padding: 12px; display: grid; grid-template: minmax(0, 1fr) auto / minmax(0, 1fr); background: #111522; }
.rider-viewer-content iframe { grid-area: 1 / 1 / 3 / 2; width: 100%; height: 100%; display: block; border: 0; border-radius: 12px; background: #fff; }
.rider-viewer-content iframe[hidden],
.rider-viewer-image-stage[hidden],
.rider-viewer-zoom[hidden] { display: none; }
.rider-viewer-image-stage {
    position: relative;
    grid-area: 1 / 1 / 2 / 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;
    overflow: auto;
    border-radius: 12px;
    background: #111522;
    overscroll-behavior: contain;
    touch-action: pan-x pan-y pinch-zoom;
    contain: strict;
}
.rider-viewer-image-stage.is-zoomed {
    cursor: grab;
    touch-action: none;
}
.rider-viewer-image-stage.is-dragging { cursor: grabbing; }
.rider-viewer-image-canvas { width: 100%; height: 100%; min-width: 0; min-height: 0; display: block; }
.rider-viewer-image-canvas img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}
.rider-viewer-zoom {
    position: relative;
    z-index: 2;
    grid-area: 2 / 1 / 3 / 2;
    justify-self: center;
    width: max-content;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 9px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    background: rgba(15, 19, 32, .88);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .28);
    backdrop-filter: blur(10px);
}
.rider-viewer-zoom button {
    min-width: 39px;
    height: 38px;
    padding: 0 11px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
}
.rider-viewer-zoom button:nth-child(2) { min-width: 70px; font-size: 11px; }
.rider-viewer-zoom button:hover { background: rgba(255, 255, 255, .13); }
body.rider-viewer-open { width: 100%; max-width: 100vw; overflow: hidden; }

@media (max-width: 650px) {
    .rider-viewer { padding: 0; }
    .rider-viewer-dialog { width: 100vw; max-width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
    .rider-viewer-head { min-height: 68px; padding: 11px 12px 11px 15px; }
    .rider-viewer-head .eyebrow { display: none; }
    .rider-viewer-head h2 { max-width: 46vw; font-size: 13px; }
    .rider-viewer-content { padding: 7px; }
    .rider-viewer-image-stage { border-radius: 9px; }
    .rider-viewer-zoom { margin-top: 7px; }
    .rider-file-popover { right: auto; left: 0; }
}

/* Mzdové zařazení a analytika konkrétního pracovníka. */
.employee-profile-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.employee-profile-badges .pill { position: static; display: inline-flex; }
.wage-role-pill { background: #e8f8f1 !important; color: #13845b !important; }
.employee-wage-role { margin-bottom: 20px; padding: 21px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.employee-wage-role h2 { margin: 3px 0 5px; font-size: 18px; }
.employee-wage-role p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.employee-wage-role-form { min-width: min(470px, 48%); display: flex; align-items: flex-end; gap: 10px; }
.employee-wage-role-form .field { flex: 1; }
.employee-wage-role-form .button { min-height: 42px; white-space: nowrap; }
.employee-analytics { margin-top: 0; }

@media (max-width: 780px) {
    .employee-wage-role { align-items: stretch; flex-direction: column; gap: 17px; }
    .employee-wage-role-form { width: 100%; min-width: 0; align-items: stretch; flex-direction: column; }
}

/* Profilové fotografie ze starého i nového úložiště. */
.topbar-avatar,
.sidebar-avatar { overflow: hidden; }
.topbar-avatar img,
.sidebar-avatar img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }

/* Servis 2.0 */
.service-device-link:hover { color: var(--accent); }
.status-dot.danger { background: #df4562; box-shadow: 0 0 0 4px #ffe5eb; }
.service-priority {
    min-width: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}
.priority-low { background: #e6f7ef; color: #16835a; }
.priority-normal { background: #edf0f7; color: #626b80; }
.priority-high { background: #fff0d9; color: #b86b09; }
.priority-urgent { background: #ffe6eb; color: #bd3651; }
.service-due.is-overdue { color: #c73652; font-weight: 800; }

.service-detail-hero {
    position: relative;
    min-height: 280px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 34%);
    overflow: hidden;
    margin-bottom: 20px;
    border-left: 6px solid #9ca3b6;
    background: linear-gradient(120deg, #151c33, #232b49);
    color: #fff;
}
.service-detail-hero.priority-border-low { border-left-color: #36b77d; }
.service-detail-hero.priority-border-normal { border-left-color: #8a93a8; }
.service-detail-hero.priority-border-high { border-left-color: #e79420; }
.service-detail-hero.priority-border-urgent { border-left-color: #e14d69; }
.service-detail-hero:not(.has-image) { grid-template-columns: 1fr; }
.service-detail-main { min-width: 0; padding: 34px 38px; display: flex; flex-direction: column; justify-content: center; }
.service-detail-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.service-detail-badges .pill { background: rgba(255,255,255,.1); color: #fff; }
.service-detail-main h2 { margin: 16px 0 7px; font-size: clamp(28px, 3.2vw, 43px); line-height: 1.08; letter-spacing: -.04em; }
.service-detail-main > p { max-width: 760px; margin: 0; color: #b9c2d5; font-size: 13px; line-height: 1.65; }
.service-detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 29px; }
.service-detail-facts div { min-width: 0; padding-left: 15px; border-left: 1px solid rgba(255,255,255,.14); }
.service-detail-facts small,
.service-detail-facts strong { display: block; }
.service-detail-facts small { color: #7f8ba5; font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.service-detail-facts strong { margin-top: 3px; overflow-wrap: anywhere; font-size: 11px; }
.service-detail-image { min-height: 280px; background: #0e1426; }
.service-detail-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.service-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr); align-items: start; gap: 20px; }
.service-detail-column,
.service-detail-sidebar { display: grid; gap: 20px; }
.service-cost { font-size: 18px; }
.service-detail-action,
.service-note-form { padding: 18px 21px 21px; }
.service-note-form { display: grid; gap: 13px; }
.service-note-form textarea { width: 100%; resize: vertical; }
.service-timeline { padding: 8px 21px 20px; }
.service-timeline-entry { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; padding: 13px 0; }
.service-timeline-entry:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 26px; bottom: -13px; width: 2px; background: #eceef4; }
.service-timeline-dot { position: relative; z-index: 1; width: 12px; height: 12px; margin-top: 3px; border: 3px solid #e9e6ff; border-radius: 50%; background: #6a59ed; }
.service-timeline-entry.kind-note .service-timeline-dot { border-color: #dff5eb; background: #1d9a68; }
.service-timeline-entry.kind-status .service-timeline-dot { border-color: #ffedd3; background: #dd8a17; }
.service-timeline-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.service-timeline-meta strong { font-size: 11px; }
.service-timeline-meta span { color: #969dad; font-size: 8px; text-align: right; }
.service-timeline-entry p { margin: 4px 0 0; color: #596176; font-size: 11px; line-height: 1.55; }

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

@media (max-width: 700px) {
    .service-detail-hero { grid-template-columns: 1fr; }
    .service-detail-main { padding: 27px 24px; }
    .service-detail-main h2 { font-size: 29px; }
    .service-detail-facts { grid-template-columns: 1fr; gap: 11px; margin-top: 22px; }
    .service-detail-image { min-height: 220px; max-height: 340px; }
    .service-timeline-meta { align-items: flex-start; flex-direction: column; gap: 1px; }
    .service-timeline-meta span { text-align: left; }
}

/* Rychlé změny bez znovunačtení stránky. */
.event-action.is-loading .button,
.detail-attendance.is-loading .button,
.finance-status-form.is-loading .status { opacity: .58; cursor: wait; }
.event-card.async-removing { opacity: 0; transform: scale(.97); pointer-events: none; }
.event-card-footer { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; padding-top: 10px; border-top: 1px dashed #e8eaf1; }
.event-card-footer .card-admin-actions { margin: 0; padding: 0; border: 0; }
.event-insight-flags { min-width: 0; display: flex; align-items: center; gap: 7px; }
.event-insight-badge { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; font-size: 11px; }
.event-insight-badge.finance { background: #e4f7ed; color: #13845b; }
.event-insight-badge.info { background: #ece9ff; color: #6251e5; }
.event-insight-badge:hover { transform: translateY(-1px); }
.event-agreed-price { min-width: 0; margin-left: auto; display: flex; align-items: baseline; gap: 7px; text-align: right; white-space: nowrap; }
.event-agreed-price small { color: #9097a9; font-size: 8px; font-weight: 700; }
.event-agreed-price strong { color: #283047; font-size: 11px; }
.finance-status-form { display: inline-flex; margin: 0; }
.finance-status-form .status { border: 0; cursor: pointer; transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease; }
.finance-status-form .status:hover { transform: translateY(-1px); box-shadow: 0 5px 13px rgba(22, 28, 49, .09); }
.finance-status-form .status:focus-visible { outline: 3px solid #d8d3ff; outline-offset: 2px; }
.async-action-toast {
    position: fixed;
    z-index: 160;
    top: 105px;
    right: 24px;
    max-width: min(390px, calc(100vw - 30px));
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    border: 1px solid #ccebdc;
    border-radius: 14px;
    background: #fff;
    color: #19734f;
    box-shadow: 0 17px 45px rgba(19, 28, 51, .17);
    font-size: 11px;
    font-weight: 750;
    opacity: 0;
    transform: translateY(-10px);
    transition: .22s ease;
}
.async-action-toast > i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #e2f7ed; }
.async-action-toast.is-error { border-color: #ffd1da; color: #a92f49; }
.async-action-toast.is-error > i { background: #ffe7ec; }
.async-action-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 650px) {
    .async-action-toast { top: 88px; right: 15px; }
}

/* Globální vyhledávání napříč moduly. */
.global-search { position: relative; }
.global-search-trigger {
    width: min(250px, 22vw);
    height: 40px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 9px 0 13px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f8f9fc;
    color: #8a92a5;
    cursor: pointer;
    transition: .18s ease;
}
.global-search-trigger:hover { border-color: #cfc8ff; background: #f2efff; color: #6555e7; }
.global-search-trigger > span { min-width: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.global-search-trigger kbd { margin-left: auto; }
.global-search-layer[hidden] { display: none; }
.global-search-layer { position: fixed; inset: 0; z-index: 140; display: grid; place-items: start center; padding: min(12vh, 110px) 18px 24px; }
.global-search-backdrop { position: absolute; inset: 0; border: 0; background: rgba(8, 13, 28, .62); backdrop-filter: blur(5px); cursor: default; }
.global-search-dialog {
    position: relative;
    width: min(760px, 100%);
    max-height: min(760px, 80dvh);
    display: grid;
    grid-template-rows: auto minmax(130px, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 32px 100px rgba(8, 13, 28, .34);
}
.global-search-head { display: flex; align-items: center; gap: 10px; padding: 13px; border-bottom: 1px solid var(--line); }
.global-search-head label { min-width: 0; flex: 1; display: flex; align-items: center; gap: 11px; padding: 0 12px; color: #7565ed; }
.global-search-head input { width: 100%; height: 45px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); font-size: 16px; }
.global-search-head input:focus { outline: 0; }
.global-search-sort { width: 145px; height: 39px; padding: 0 30px 0 10px; border: 1px solid var(--line); border-radius: 11px; background-color: #f8f9fc; color: #596176; font-size: 10px; font-weight: 750; cursor: pointer; }
.global-search-sort:focus { border-color: #b9affc; outline: 0; box-shadow: 0 0 0 3px #efedff; }
.global-search-close { width: 39px; height: 39px; flex: 0 0 auto; border: 0; border-radius: 11px; background: #eef0f5; color: #687186; cursor: pointer; }
.global-search-close:hover { background: #e8e4ff; color: #5d4ce0; }
.global-search-results { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 10px; background: #f8f9fc; }
.global-search-group + .global-search-group { margin-top: 8px; }
.global-search-group-title { display: flex; align-items: center; gap: 7px; margin: 0; padding: 8px 10px 6px; color: #858da0; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.global-search-result {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #4f586d;
}
.global-search-result:hover,
.global-search-result:focus,
.global-search-result.is-active { border-color: #d8d3ff; outline: 0; background: #efedff; color: #5544d4; }
.global-search-result-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #fff; color: #6c5bec; box-shadow: 0 3px 10px rgba(25, 33, 58, .05); }
.global-search-result-main { min-width: 0; }
.global-search-result strong,
.global-search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-search-result strong { color: var(--ink); font-size: 12px; }
.global-search-result small { margin-top: 2px; color: #858da0; font-size: 9px; }
.global-search-result-arrow { color: #aab0bf; font-size: 17px; }
.global-search-empty { min-height: 210px; display: grid; place-items: center; align-content: center; gap: 7px; color: #9299aa; text-align: center; }
.global-search-empty > i { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 5px; border-radius: 16px; background: #ece9ff; color: #6555e7; font-size: 18px; }
.global-search-empty strong { color: #343b50; font-size: 13px; }
.global-search-empty span { font-size: 10px; }
.global-search-loading > i { animation: global-search-pulse 1s ease-in-out infinite alternate; }
.global-search-help { min-height: 43px; display: flex; align-items: center; gap: 18px; padding: 8px 17px; border-top: 1px solid var(--line); color: #9097a8; font-size: 8px; }
.global-search-help span { display: flex; align-items: center; gap: 4px; }
.global-search-help kbd,
.global-search-trigger kbd { min-width: 22px; padding: 3px 5px; border: 1px solid #dde0e8; border-bottom-width: 2px; border-radius: 6px; background: #fff; color: #737b8e; font: 700 8px/1.2 system-ui, sans-serif; text-align: center; }
body.global-search-open { overflow: hidden; }
@keyframes global-search-pulse { to { opacity: .35; transform: scale(.92); } }

@media (max-width: 1120px) {
    .global-search-trigger { width: 40px; justify-content: center; padding: 0; background: #fff; }
    .global-search-trigger > span,
    .global-search-trigger > kbd { display: none; }
}

@media (max-width: 650px) {
    .global-search-layer { width: 100vw; height: 100dvh; align-items: end; padding: max(8px, env(safe-area-inset-top)) 0 0; }
    .global-search-dialog { width: 100%; max-height: calc(100dvh - max(8px, env(safe-area-inset-top))); border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom); }
    .global-search-head { padding: 9px; }
    .global-search-head input { font-size: 15px; }
    .global-search-head label { padding: 0 5px; }
    .global-search-sort { width: 104px; padding-left: 8px; font-size: 9px; }
    .global-search-results { padding: 7px; }
    .global-search-help { display: none; }
    .global-search-result { padding: 8px; }
    .event-card-footer { min-height: 46px; }
    .event-agreed-price small { display: none; }
}

/* Bezpečná administrace veřejného webu v Nastavení. */
.public-website-panel { margin-top: 20px; overflow: hidden; scroll-margin-top: 110px; }
.public-website-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.public-website-body { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.8fr); }
.public-website-summary { padding: 22px; border-right: 1px solid var(--line); background: #fbfbfe; }
.public-website-state { display: flex; align-items: flex-start; gap: 13px; }
.public-website-state > div { min-width: 0; }
.public-website-state strong { display: block; margin-top: 2px; font-size: 13px; }
.public-website-state p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.public-website-state code,
.public-website-facts code,
.public-website-revisions code { padding: 2px 5px; border-radius: 5px; background: #eeecff; color: #5b4bdc; font: 700 9px/1.4 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.public-website-facts { margin-top: 19px; }
.public-website-editor-wrap { min-width: 0; padding: 22px; }
.public-website-form { display: grid; gap: 12px; }
.public-website-form > label { display: grid; gap: 2px; }
.public-website-form > label strong { font-size: 12px; }
.public-website-form > label small { color: var(--muted); font-size: 9px; }
.public-website-form textarea {
    width: 100%;
    min-height: 560px;
    resize: vertical;
    padding: 16px;
    border: 1px solid #dfe3ee;
    border-radius: 14px;
    outline: 0;
    background: #101626;
    color: #e7ecf7;
    font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    tab-size: 2;
    white-space: pre;
    overflow: auto;
}
.public-website-form textarea:focus { border-color: #8b7eff; box-shadow: 0 0 0 3px #ece9ff; }
.public-website-form textarea:disabled { opacity: .58; cursor: not-allowed; }
.public-website-editor-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.public-website-editor-footer span { color: var(--muted); font-size: 9px; }
.public-website-revisions { border-top: 1px solid var(--line); }
.public-website-revisions-title { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 22px; }
.public-website-revisions-title h3 { margin: 2px 0 0; font-size: 15px; }
.public-website-revisions-title > small { color: var(--muted); font-size: 9px; }
.public-website-revisions form { display: inline-flex; margin: 0; }

@media (max-width: 980px) {
    .public-website-body { grid-template-columns: 1fr; }
    .public-website-summary { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 650px) {
    .public-website-panel { margin-top: 15px; scroll-margin-top: 84px; }
    .public-website-head { align-items: flex-start; }
    .public-website-head-actions { width: 100%; justify-content: flex-start; }
    .public-website-summary,
    .public-website-editor-wrap { padding: 17px; }
    .public-website-form textarea { min-height: 430px; padding: 12px; font-size: 11px; }
    .public-website-editor-footer { align-items: stretch; flex-direction: column; }
    .public-website-editor-footer .button { width: 100%; }
    .public-website-revisions-title { align-items: flex-start; flex-direction: column; }
}

/* Strukturovaná administrace veřejného webu */
.public-cms-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:22px;padding:22px;background:#fbfbfe;border-bottom:1px solid var(--line)}
.public-cms-intro .public-website-facts{margin:0;padding:0}.public-cms-intro>.settings-warning,.public-cms-intro>.settings-safe{grid-column:1/-1;margin:-7px 0 0}
.public-cms-form{display:block}.public-cms-groups{display:grid;gap:12px;padding:22px}.public-cms-group{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.public-cms-group>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 19px;cursor:pointer;list-style:none;background:#fafbfe}.public-cms-group>summary::-webkit-details-marker{display:none}.public-cms-group>summary span{display:grid;gap:2px}.public-cms-group>summary strong{font-size:13px}.public-cms-group>summary small{color:var(--muted);font-size:9px;font-weight:500}.public-cms-group>summary>i{color:var(--accent);transition:transform .2s}.public-cms-group[open]>summary>i{transform:rotate(180deg)}
.public-cms-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:19px;border-top:1px solid var(--line)}.public-cms-field{display:grid;align-content:start;gap:7px;min-width:0;color:#515a70;font-size:10px;font-weight:750}.public-cms-field.is-wide{grid-column:1/-1}
.public-cms-item-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 -2px;padding:11px 13px;border-radius:10px;background:#f3f1ff;color:var(--ink)}.public-cms-item-heading strong{font-size:11px}.public-cms-item-heading small{color:var(--muted);font-size:8px;font-weight:500}
.public-cms-item{grid-column:1/-1;overflow:hidden;border:1px solid #e7e3ff;border-radius:12px;background:#fcfbff}.public-cms-item>summary{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 14px;cursor:pointer;list-style:none}.public-cms-item>summary::-webkit-details-marker{display:none}.public-cms-item>summary>span:first-child{display:grid;gap:2px}.public-cms-item>summary strong{font-size:11px}.public-cms-item>summary small{color:var(--muted);font-size:8px;font-weight:500}.public-cms-item-state{flex:0 0 auto;padding:5px 8px;border-radius:8px;background:#efedff;color:#5b4bdd;font-size:8px;font-weight:800}.public-cms-item-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:14px;border-top:1px solid #ebe8ff;background:#fff}.public-cms-item-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.public-cms-item-actions>small{color:var(--muted);font-size:8px}.public-cms-image-control>[hidden]{display:none!important}
.public-cms-field input:not([type=file]),.public-cms-field textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:500;resize:vertical;outline:0}.public-cms-field textarea{min-height:92px}.public-cms-field input:focus,.public-cms-field textarea:focus{border-color:#8b7eff;box-shadow:0 0 0 3px #ece9ff}
.public-cms-image-control{display:flex;align-items:center;gap:13px;min-height:76px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fbfbfe}.public-cms-image-control>img{width:84px;height:62px;flex:0 0 auto;object-fit:cover;border-radius:9px;background:#edf0f7}.public-cms-image-control>span{display:grid;gap:5px;min-width:0}.public-cms-image-control input{max-width:100%;font-size:10px}.public-cms-image-control small{color:var(--muted);font-size:8px;font-weight:500}
.public-cms-image-control>.public-cms-image-placeholder{display:flex;align-items:center;justify-content:center;gap:7px;width:84px;height:62px;flex:0 0 auto;border-radius:9px;background:#edf0f7;color:var(--muted);font-size:8px}
.public-cms-savebar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 22px;border-top:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 -10px 28px rgba(20,29,55,.06)}.public-cms-savebar span{color:var(--muted);font-size:9px}
.event-author.is-vacation{color:var(--ink);font-weight:800}
@media(max-width:850px){.public-cms-intro{grid-template-columns:1fr;padding:17px}.public-cms-intro>.settings-warning,.public-cms-intro>.settings-safe{grid-column:1}.public-cms-groups{padding:14px}.public-cms-fields,.public-cms-item-fields{grid-template-columns:1fr;padding:14px}.public-cms-field.is-wide{grid-column:1}.public-cms-item-heading{display:grid}.public-cms-group>summary{padding:15px}.public-cms-item-actions{align-items:flex-start;flex-direction:column}.public-cms-savebar{align-items:stretch;flex-direction:column;padding:13px 15px}.public-cms-savebar .button{width:100%}.public-cms-item-actions .button{width:auto}}
