.event-attachments-page {
    font-family: Roboto, Arial, sans-serif
}

.event-attachments-title-row {
    align-items: center
}

.event-attachments-title-row p {
    margin: 6px 0 0;
    color: #777;
    font: 400 14px/1.55 Lato, Arial, sans-serif
}

.attachments-section {
    max-width: 1040px;
    margin: 34px auto 0;
    padding: 0 0 44px;
    border-bottom: 1px solid #e7e7e7
}

.attachments-section:last-child {
    border-bottom: 0;
    padding-bottom: 0
}

.attachments-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 21px
}

.attachments-heading > div {
    min-width: 0
}

.attachments-heading p {
    margin: 6px 0 0;
    color: #777;
    font: 400 14px/1.55 Lato, Arial, sans-serif
}

.attachment-count {
    flex: 0 0 auto;
    border: 1px solid #dedede;
    background: #fafafa;
    color: #777;
    font: 500 12px Roboto, Arial, sans-serif;
    padding: 7px 10px
}

.attachment-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px
}

.attachment-button {
    min-height: 42px;
    border: 1px solid transparent;
    padding: 9px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font: 500 14px Roboto, Arial, sans-serif;
    cursor: pointer;
    transition: background .18s, border-color .18s, color .18s
}

.attachment-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.attachment-button-primary {
    background: #17b978;
    border-color: #17b978;
    color: #fff
}

.attachment-button-primary:hover, .attachment-button-primary:focus {
    background: #119d64;
    border-color: #119d64;
    outline: 0
}

.attachment-button-upload {
    background: #333;
    border-color: #333;
    color: #fff
}

.attachment-button-upload:hover, .attachment-button-upload:focus {
    background: #17b978;
    border-color: #17b978;
    outline: 0
}

.attachment-button-muted {
    background: #fff;
    border-color: #d8d8d8;
    color: #555
}

.attachment-button-muted:hover, .attachment-button-muted:focus {
    border-color: #999;
    color: #222;
    outline: 0
}

.attachment-dropzone {
    border: 2px dashed #bfc8c3;
    background: #fafcfb;
    min-height: 190px;
    padding: 23px;
    transition: border-color .18s, background .18s
}

.attachment-dropzone.is-dragover {
    border-color: #17b978;
    background: #f3fbf7
}

.attachment-dropzone-message {
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    gap: 18px;
    color: #777;
    cursor: pointer
}

.attachment-dropzone-message strong {
    display: block;
    color: #333;
    font: 500 16px/1.35 Roboto, Arial, sans-serif
}

.attachment-dropzone-message span:not(.attachment-dropzone-icon) {
    display: block;
    margin-top: 3px;
    font: 400 14px/1.45 Lato, Arial, sans-serif
}

.attachment-dropzone-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #e9f8f1;
    color: #17a66d;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto
}

.attachment-dropzone-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round
}

.attachment-previews:not(:empty) {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 8px
}

.attachment-previews:not(:empty) + * {
}

.attachment-previews:not(:empty) ~ .attachment-dropzone-message {
    display: none
}

.attachment-preview {
    display: grid;
    grid-template-columns:54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    border: 1px solid #e0e0e0;
    background: #fff;
    padding: 12px
}

.attachment-preview-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef2f0;
    color: #4a5550;
    font: 700 12px Roboto, Arial, sans-serif;
    overflow: hidden
}

.attachment-preview-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.attachment-preview-info {
    min-width: 0
}

.attachment-preview-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #333;
    font: 500 14px/1.35 Roboto, Arial, sans-serif
}

.attachment-preview-size {
    display: block;
    margin-top: 4px;
    color: #888;
    font: 400 12px Lato, Arial, sans-serif
}

.attachment-preview-remove {
    width: 35px;
    height: 35px;
    border: 0;
    background: transparent;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center
}

.attachment-preview-remove:hover, .attachment-preview-remove:focus {
    color: #c73737;
    outline: 0
}

.attachment-preview-remove svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.attachment-preview-progress {
    grid-column: 2/-1;
    height: 6px;
    background: #e8ecea;
    overflow: hidden
}

.attachment-preview-progress span {
    display: block;
    height: 100%;
    width: 0;
    background: #17b978;
    transition: width .12s
}

.attachment-alert {
    margin-top: 13px;
    border: 1px solid #e8bbbb;
    background: #fff5f5;
    color: #812d2d;
    padding: 12px 14px;
    font: 400 13px/1.5 Roboto, Arial, sans-serif
}

.attachment-total-progress {
    margin-top: 14px;
    height: 23px;
    background: #e8ecea;
    overflow: hidden
}

.attachment-total-progress-bar {
    height: 100%;
    background: #17b978;
    color: #fff;
    display: flex;
    align-items: center;
    min-width: 0;
    transition: width .15s
}

.attachment-total-progress-bar span {
    padding-left: 9px;
    font: 500 12px Roboto, Arial, sans-serif;
    white-space: nowrap
}

.attachments-existing {
    margin-top: 39px
}

.attachment-list {
    border-top: 1px solid #dedede
}

.attachment-row {
    display: grid;
    grid-template-columns:58px minmax(180px, 1fr) minmax(190px, 260px) 46px;
    gap: 16px;
    align-items: center;
    padding: 15px 9px;
    border-bottom: 1px solid #e5e5e5;
    transition: background .18s
}

.attachment-row:hover {
    background: #fbfdfc
}

.attachment-file-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font: 700 11px Roboto, Arial, sans-serif
}

.attachment-file-icon:hover {
    color: #fff;
    opacity: .88
}

.attachment-file-image {
    background: #596d79
}

.attachment-file-xls {
    background: #2f7d54
}

.attachment-file-pdf {
    background: #b74343
}

.attachment-file-info {
    min-width: 0
}

.attachment-file-info a {
    display: block;
    color: #333;
    font: 500 14px/1.4 Roboto, Arial, sans-serif;
    overflow-wrap: anywhere
}

.attachment-file-info a:hover {
    color: #17a66d
}

.attachment-file-info span {
    display: block;
    margin-top: 4px;
    color: #929292;
    font: 400 12px Lato, Arial, sans-serif
}

.attachment-type-field label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap
}

.attachment-type-field select {
    display: block;
    width: 100%;
    height: 41px;
    border: 1px solid #d6d6d6;
    background: #fff;
    color: #444;
    padding: 0 36px 0 11px;
    font: 400 14px Roboto, Arial, sans-serif
}

.attachment-type-field select:focus {
    outline: 0;
    border-color: #17b978;
    box-shadow: 0 0 0 3px rgba(23, 185, 120, .1)
}

.attachment-delete {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    border: 1px solid transparent
}

.attachment-delete:hover, .attachment-delete:focus {
    color: #c73737;
    border-color: #e5c8c8;
    background: #fff7f7;
    outline: 0
}

.attachment-delete svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round
}

.attachment-row.is-removing {
    opacity: .35
}

.attachment-settings-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 24px
}

.attachment-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #666;
    font: 500 13px Roboto, Arial, sans-serif
}

.attachment-back-link:hover {
    color: #17a66d
}

.attachment-back-link svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.attachment-save-button {
    border: 1px solid #17b978;
    background: #17b978;
    color: #fff;
    padding: 12px 24px;
    min-width: 165px;
    font: 500 14px Roboto, Arial, sans-serif;
    cursor: pointer
}

.attachment-save-button:hover, .attachment-save-button:focus {
    background: #119d64;
    border-color: #119d64;
    outline: 0
}
.attachment-preview-error {
    display: block;
    margin-top: 4px;
    color: #b74343;
    font: 400 12px/1.4 Roboto, Arial, sans-serif;
}

.attachment-preview-error:empty {
    display: none;
}

.attachment-preview-icon-pdf {
    color: #a64040;
    background: #faeeee;
}

.attachment-preview-icon-xls,
.attachment-preview-icon-xlsx {
    color: #11875a;
    background: #edf6f2;
}

.attachment-preview-icon-doc,
.attachment-preview-icon-docx {
    color: #4568a8;
    background: #eef2fa;
}
.attachment-file-icon {
    text-transform: uppercase;
}

.attachment-file-xlsx,
.attachment-file-xls {
    background: #2f7d54;
}

.attachment-file-doc,
.attachment-file-docx {
    background: #4568a8;
}

.attachment-file-zip,
.attachment-file-rar {
    background: #80633d;
}

.attachment-file-txt,
.attachment-file-csv {
    background: #746b45;
}

.attachments-empty {
    padding: 24px 0;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #e5e5e5;
    color: #888;
    font: 400 14px/1.55 Lato, Arial, sans-serif;
}

/* Přihláška týmu na turnaj */

.registration-form-page {
    font-family: Roboto, Arial, sans-serif;
}

.registration-event-context {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    max-width: 760px;
    margin: 34px auto 0;
    padding: 15px 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}

.registration-event-context .event-icon {
    width: 30px;
    height: 30px;
}

.registration-event-context > div {
    min-width: 0;
}

.registration-event-context > div > span {
    display: block;
    margin-bottom: 3px;
    color: #999;
    font: 500 11px/1.35 Roboto, Arial, sans-serif;
    letter-spacing: 0.45px;
    text-transform: uppercase;
}

.registration-event-context strong {
    display: block;
    color: #333;
    font: 500 16px/1.4 Roboto, Arial, sans-serif;
}

.tournament-registration-form {
    max-width: 760px;
    margin-top: 34px;
}

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

.registration-form-actions {
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.registration-form-actions .attachment-back-link {
    flex: 0 0 auto;
}

@media (max-width: 575px) {
    .registration-event-context {
        margin-top: 25px;
    }

    .tournament-registration-form {
        margin-top: 28px;
    }

    .registration-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .registration-form-actions .event-form-submit {
        width: 100%;
    }

    .registration-form-actions .attachment-back-link {
        justify-content: center;
    }
}
/* Detail přihlášky */

.registration-detail-page {
    font-family: Roboto, Arial, sans-serif;
}

.registration-detail-title-row {
    align-items: center;
}

.registration-detail-title-row p {
    margin: 6px 0 0;
    color: #777;
    font: 400 14px/1.55 Lato, Arial, sans-serif;
}

.registration-detail-content {
    max-width: 760px;
    margin: 34px auto 0;
}

/* Kontext akce */

.registration-detail-content .registration-event-context {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    max-width: none;
    margin: 0 0 34px;
    padding: 15px 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}

.registration-event-context > div > span {
    display: block;
    margin-bottom: 3px;
    color: #999;
    font: 500 11px/1.35 Roboto, Arial, sans-serif;
    letter-spacing: 0.45px;
    text-transform: uppercase;
}

.registration-event-context a {
    color: #333;
    font: 500 16px/1.4 Roboto, Arial, sans-serif;
}

.registration-event-context a:hover {
    color: #17a66d;
}

/* Obsah přihlášky */

.registration-detail-section {
    margin-bottom: 34px;
}

.registration-team-detail {
    padding: 17px 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}

.registration-team-detail > span {
    display: block;
    margin-bottom: 5px;
    color: #999;
    font: 500 11px/1.35 Roboto, Arial, sans-serif;
    letter-spacing: 0.45px;
    text-transform: uppercase;
}

.registration-team-detail strong {
    display: block;
    color: #333;
    font: 500 18px/1.4 Roboto, Arial, sans-serif;
}

.registration-detail-note {
    padding: 15px 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
    color: #555;
    font: 400 15px/1.7 Lato, Arial, sans-serif;
    white-space: pre-line;
}

/* Informace o podání */

.registration-record-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}

.registration-record-info > div {
    padding: 15px 18px;
    border-right: 1px solid #e8e8e8;
}

.registration-record-info > div:first-child {
    padding-left: 0;
}

.registration-record-info > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.registration-record-info dt {
    margin-bottom: 5px;
    color: #999;
    font: 500 11px/1.35 Roboto, Arial, sans-serif;
    letter-spacing: 0.45px;
    text-transform: uppercase;
}

.registration-record-info dd {
    margin: 0;
    color: #333;
    font: 500 14px/1.4 Roboto, Arial, sans-serif;
}

/* Ovládací prvky */

.registration-detail-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 27px;
}

.registration-management-actions {
    display: flex;
    gap: 8px;
}

.registration-delete-button {
    color: #a23c3c;
    border-color: #dfc5c5;
    background: #fff;
}

.registration-delete-button:hover,
.registration-delete-button:focus {
    color: #fff;
    border-color: #b74343;
    background: #b74343;
}

@media (max-width: 575px) {
    .registration-detail-content {
        margin-top: 27px;
    }

    .registration-record-info {
        grid-template-columns: 1fr;
    }

    .registration-record-info > div,
    .registration-record-info > div:first-child,
    .registration-record-info > div:last-child {
        padding: 13px 0;
        border-right: 0;
        border-bottom: 1px solid #e8e8e8;
    }

    .registration-record-info > div:last-child {
        border-bottom: 0;
    }

    .registration-detail-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .registration-management-actions {
        flex-direction: column;
    }

    .registration-management-actions .attachment-button {
        width: 100%;
    }

    .registration-detail-actions .attachment-back-link {
        justify-content: center;
    }
}

/* Nastavení kalendáře */

.calendar-settings-page {
    font-family: Roboto, Arial, sans-serif;
}

.calendar-settings-form {
    max-width: 760px;
}

.calendar-settings-description {
    margin: -4px 0 22px;
    padding-bottom: 17px;
    border-bottom: 1px solid #e8e8e8;
}

.calendar-settings-description p {
    margin: 0;
    color: #777;
    font: 400 14px/1.6 Lato, Arial, sans-serif;
}

.calendar-settings-grid {
    grid-template-columns: 1fr;
}

.event-form-field select {
    display: block;
    width: 100%;
    height: 45px;
    border: 1px solid #d8d8d8;
    border-radius: 0;
    background-color: #fff;
    color: #333;
    padding: 0 42px 0 13px;
    font: 400 15px/1.45 Roboto, Arial, sans-serif;
    cursor: pointer;
}

.event-form-field select:focus {
    outline: 0;
    border-color: #17b978;
    box-shadow: 0 0 0 3px rgba(23, 185, 120, 0.11);
}

.calendar-settings-actions {
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.calendar-settings-actions .attachment-back-link {
    flex: 0 0 auto;
}

@media (max-width: 575px) {
    .calendar-settings-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .calendar-settings-actions .event-form-submit {
        width: 100%;
    }

    .calendar-settings-actions .attachment-back-link {
        justify-content: center;
    }
}
/* Nápověda kalendáře */

.calendar-help-page {
    font-family: Roboto, Arial, sans-serif;
}

.calendar-help-title-row {
    align-items: center;
}

.calendar-help-title-row p {
    margin: 6px 0 0;
    color: #777;
    font: 400 14px/1.55 Lato, Arial, sans-serif;
}

.calendar-help-content {
    max-width: 930px;
    margin: 34px auto 0;
}

.calendar-help-introduction {
    padding-bottom: 24px;
    border-bottom: 1px solid #e7e7e7;
    color: #555;
    font: 400 16px/1.75 Lato, Arial, sans-serif;
}

.calendar-help-introduction p {
    margin: 0 0 12px;
}

.calendar-help-introduction p:last-child {
    margin-bottom: 0;
}

/* Obsah nápovědy */

.calendar-help-navigation {
    padding: 20px 0;
    border-bottom: 1px solid #e7e7e7;
}

.calendar-help-navigation > strong {
    display: block;
    margin-bottom: 10px;
    color: #333;
    font: 500 14px/1.4 Roboto, Arial, sans-serif;
}

.calendar-help-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.calendar-help-navigation a {
    color: #666;
    font: 400 13px/1.45 Roboto, Arial, sans-serif;
}

.calendar-help-navigation a:hover {
    color: #17a66d;
}

/* Jednotlivé oddíly */

.calendar-help-section {
    padding: 34px 0;
    border-bottom: 1px solid #e7e7e7;
    scroll-margin-top: 90px;
}

.calendar-help-section-content {
    color: #555;
    font: 400 15px/1.75 Lato, Arial, sans-serif;
}

.calendar-help-section-content::after {
    display: block;
    clear: both;
    content: "";
}

.calendar-help-section-content p {
    margin: 0 0 15px;
}

.calendar-help-section-content p:last-child {
    margin-bottom: 0;
}

.calendar-help-section-content strong {
    color: #333;
    font-weight: 700;
}

.calendar-help-image {
    float: right;
    width: 210px;
    height: auto;
    margin: 0 0 18px 28px;
    border: 1px solid #e2e2e2;
}

/* Vysvětlení polí přihlášek */

.calendar-help-definition-list {
    margin: 22px 0;
    border-top: 1px solid #e5e5e5;
}

.calendar-help-definition-list > div {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 25px;
    padding: 15px 0;
    border-bottom: 1px solid #e5e5e5;
}

.calendar-help-definition-list dt {
    color: #333;
    font: 500 14px/1.45 Roboto, Arial, sans-serif;
}

.calendar-help-definition-list dd {
    margin: 0;
    color: #666;
    font: 400 14px/1.6 Lato, Arial, sans-serif;
}

.calendar-help-actions {
    padding-top: 26px;
}

@media (max-width: 575px) {
    .calendar-help-content {
        margin-top: 27px;
    }

    .calendar-help-navigation ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 16px;
    }

    .calendar-help-section {
        padding: 29px 0;
    }

    .calendar-help-image {
        float: none;
        width: 100%;
        max-width: 320px;
        margin: 0 0 20px;
    }

    .calendar-help-definition-list > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (max-width: 767px) {
    .attachment-previews:not(:empty) {
        grid-template-columns:1fr
    }

    .attachment-row {
        grid-template-columns:50px minmax(0, 1fr) 40px;
        gap: 12px;
        padding: 14px 3px
    }

    .attachment-file-icon {
        width: 48px;
        height: 48px
    }

    .attachment-type-field {
        grid-column: 2/4
    }

    .attachment-delete {
        grid-column: 3;
        grid-row: 1
    }

    .attachment-settings-actions {
        align-items: stretch;
        flex-direction: column-reverse
    }

    .attachment-save-button {
        width: 100%
    }

    .attachment-back-link {
        justify-content: center
    }

    .attachments-heading {
        align-items: flex-start
    }

    .attachment-count {
        margin-top: 1px
    }
}

@media (max-width: 575px) {
    .event-attachments-title-row {
        align-items: flex-start
    }

    .event-attachments-title-row h1 {
        font-size: 28px
    }

    .event-attachments-title-row p {
        max-width: 270px
    }

    .attachments-section {
        margin-top: 29px;
        padding-bottom: 36px
    }

    .attachment-toolbar {
        display: grid;
        grid-template-columns:1fr 1fr
    }

    .attachment-button {
        padding-left: 10px;
        padding-right: 10px
    }

    .attachment-button-muted {
        grid-column: 1/-1
    }

    .attachment-dropzone {
        padding: 16px
    }

    .attachment-dropzone-message {
        min-height: 130px;
        flex-direction: column;
        text-align: center;
        gap: 12px
    }

    .attachment-preview {
        grid-template-columns:48px minmax(0, 1fr) 34px;
        padding: 10px
    }

    .attachment-preview-icon {
        width: 48px;
        height: 48px
    }

    .attachments-heading {
        display: block
    }

    .attachment-count {
        display: inline-block;
        margin-top: 12px
    }

    .calendar-section-heading h2 {
        font-size: 20px
    }
}
