:root {
    --font: "DM Sans", "Helvetica Neue", sans-serif;
    --display: "Sora", "Times New Roman", serif;
}

html,
body {
    margin: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.5;
}

img {
    max-width: 100%;
    height: auto;
}

a,
a:hover,
a:focus,
a:active {
    color: inherit;
}

h1,
h2,
h3,
h4 {
    font-family: var(--display);
    letter-spacing: -0.03em;
}

.red {
    color: #b42318;
}

.link {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.btn,
.form-control,
.form-select {
    border-radius: 0;
    border-color: var(--ink);
}

.form-select {
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23161513' stroke-linecap='square' stroke-linejoin='miter' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 14px 10px;
    padding-inline-start: 0.75rem;
    padding-inline-end: 2.4rem;
}

[dir="rtl"] .form-select {
    background-position: left 0.75rem center;
    padding-right: 0.75rem;
    padding-left: 2.4rem;
}

.btn:focus,
.btn:focus-visible,
.btn:active:focus,
.btn-check:focus+.btn,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible,
.btn-light:focus,
.btn-light:focus-visible {
    outline: 0;
    box-shadow: none;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--ink);
    outline: 0;
    box-shadow: none;
    color: var(--ink);
}

.form-check-input {
    border-radius: 0;
    border-color: var(--ink);
    background-color: #fff;
}

.form-check-input:checked {
    background-color: var(--ink);
    border-color: var(--ink);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23f3efe6' stroke-linecap='square' stroke-linejoin='miter' stroke-width='3' d='m6 10 3 3 5-6'/%3e%3c/svg%3e");
}

.form-check-input:focus,
.form-check-input:checked:focus {
    border-color: var(--ink);
    box-shadow: none;
}

.btn-primary,
.btn-light,
.ib-stage__cta,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-light:hover,
.btn-light:focus,
.ib-stage__cta:hover,
.ib-stage__cta:focus {
    background: var(--primary_color);
    color: var(--text_inverse);
    border: 1px solid var(--primary_color);
}

.ib-pill,
.ib-pill:hover,
.ib-pill:focus,
.ib-pill:active {
    background: var(--ink);
    color: var(--paper);
    border-radius: 0;
    height: 34px;
    padding: 0 0.8rem;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 0.85rem;
    text-decoration: none;
}

.btn-outline-primary,
.ib-pill--ghost {
    background: transparent;
    color: var(--ink);
    border: 1px solid var(--ink);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.ib-pill--ghost:hover,
.ib-pill--ghost:focus,
.ib-pill--ghost:active {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
}

.btn,
.ib-pill,
.ib-stage__cta {
    transition: opacity 0.15s ease;
}

.btn:hover,
.ib-pill:hover,
.ib-stage__cta:hover {
    opacity: 0.8;
}

/* Top bar */
.ib-top,
.nav-bar {
    border-bottom: 1px solid var(--ink);
    background: var(--paper);
}

.ib-top__inner,
.nav-bar-container {
    width: min(1120px, calc(100% - 2.5rem));
    margin: 0 auto;
    min-height: 64px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

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

.ib-top__brand img {
    height: 35px;
    width: auto;
    display: block;
}

.ib-top__brand {
    margin-inline-end: auto;
}

.ib-top__inner,
.nav-bar-container {
    gap: 1.25rem;
}

.ib-top__links {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.9rem 1.15rem;
    margin: 0;
}

.ib-top__links a,
.ib-top__links a:hover,
.ib-top__links a:focus,
.ib-top__links a:active {
    display: inline-flex;
    align-items: center;
    height: 34px;
    line-height: 1;
    color: var(--ink);
    font-size: 0.92rem;
    text-decoration: none;
    border-bottom: 0;
}

.ib-top__links a:hover {
    box-shadow: inset 0 -1px 0 var(--ink);
}

.ib-top__actions,
.nav-bar-actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0.75rem;
    margin-inline-start: 0.5rem;
}

.ib-top .ib-lang,
.ib-top .ib-user-menu {
    display: flex;
    align-items: center;
    align-self: center;
    height: 34px;
}

.ib-top .ib-lang__toggle,
.ib-top .ib-user-menu__toggle {
    height: 34px;
    padding: 0 2px;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.ib-top .ib-user-menu__avatar,
.ib-top .user-img {
    width: 35px;
    height: 35px;
    display: block;
}

@media screen and (max-width: 768px) {

    .ib-top .ib-user-menu__avatar,
    .ib-top .user-img {
        width: 25px;
        height: 25px;
    }
}

.ib-top .ib-user-menu__name {
    font-size: 0.92rem;
    line-height: 1;
}

.ib-top .ib-lang__toggle .fa-angle-down,
.ib-top .ib-user-menu__toggle .bi-chevron-down {
    margin: 0;
    line-height: 1;
    font-size: 0.75rem;
}

.drop-down-item .bi {
    width: 1.1rem;
    font-size: 1rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ib-menu-btn,
.nav-bar-menu-btn {
    display: none;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
}

.ib-menu-btn svg,
.nav-bar-menu-close svg {
    width: 18px;
    height: 18px;
    display: block;
}

.nav-bar-menu {
    display: contents;
}

.nav-bar-menu .overlay,
.nav-bar-menu-close {
    display: none;
}

.drop-down {
    position: relative;
}

.drop-down-btn {
    border: 0;
    background: transparent;
    color: inherit;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
}

.drop-down-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    inset-inline-end: 0;
    min-width: 200px;
    background: var(--paper);
    border: 1px solid var(--ink);
    z-index: 40;
    padding: 0.25rem 0;
}

.drop-down.active .drop-down-menu {
    display: block;
}

.drop-down-item,
.drop-down-item:hover,
.drop-down-item:focus,
.drop-down-item:active {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.8rem;
    color: inherit;
    text-decoration: none;
}

.drop-down-item:hover {
    background: var(--paper-2);
}

.language-img,
.user-img {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
}

.user-img {
    width: 32px;
    height: 32px;
}

.notifications .drop-down-menu {
    width: 360px;
    padding: 0;
}

.notifications-count {
    background: var(--ink);
    color: var(--paper);
    border-radius: 99px;
    font-size: 0.7rem;
    padding: 0 5px;
    margin-inline-start: 4px;
}

.notifications-item {
    display: flex;
    gap: 0.6rem;
    padding: 0.7rem 0.8rem;
    border-top: 1px solid var(--paper-2);
}

.notifications-item,
.notifications-item:hover,
.notifications-item:focus,
.notifications-item:active {
    color: inherit;
    text-decoration: none;
}

.notifications-item img {
    width: 36px;
    height: 36px;
    object-fit: cover;
}

.desk-notify-menu__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--ink);
}

.desk-notify-menu__head strong {
    font-family: var(--display);
    font-size: 1rem;
    font-weight: 600;
}

.desk-notify-menu__head a,
.desk-notify-menu__head a:hover,
.desk-notify-menu__head a:focus,
.desk-notify-menu__head a:active {
    color: var(--ink);
    font-size: 0.8rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
}

.desk-notify-menu__list {
    max-height: 345px;
}

.desk-notify-item,
.desk-notify-item:hover,
.desk-notify-item:focus,
.desk-notify-item:active {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--paper-2);
    color: inherit;
    text-decoration: none;
}

.desk-notify-item:first-child {
    border-top: 0;
}

.desk-notify-item:hover {
    background: var(--paper-2);
}

.desk-notify-item.is-unread {
    background: color-mix(in srgb, var(--ink) 4%, var(--paper));
    box-shadow: inset 3px 0 0 var(--ink);
}

.desk-notify-item.is-unread:hover {
    background: color-mix(in srgb, var(--ink) 7%, var(--paper));
}

.desk-notify-item img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;
    background: var(--paper-2);
}

.desk-notify-item span {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.desk-notify-item strong {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--muted);
    text-decoration: none;
}

.desk-notify-item.is-unread strong {
    color: var(--ink);
    font-weight: 700;
}

.desk-notify-item small {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.3;
    white-space: nowrap;
    text-decoration: none;
}

.desk-notify-empty {
    margin: 0;
    padding: 1.25rem 1rem;
    color: var(--muted);
    text-align: center;
}

.desk-notify-menu__all,
.desk-notify-menu__all:hover,
.desk-notify-menu__all:focus,
.desk-notify-menu__all:active {
    display: block;
    padding: 0.8rem 1rem;
    border-top: 1px solid var(--ink);
    text-align: center;
    color: var(--ink);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
}

.desk-notify-menu__all:hover {
    background: var(--paper-2);
}

@media (max-width: 1040px) {

    .ib-menu-btn,
    .nav-bar-menu-btn {
        display: inline-flex;
    }

    .nav-bar-menu {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 80;
        visibility: hidden;
        pointer-events: none;
    }

    .nav-bar-menu .overlay {
        display: block;
        position: absolute;
        inset: 0;
        background: rgba(22, 21, 19, 0.35);
    }

    .nav-bar-links {
        position: absolute;
        top: 0;
        inset-inline-end: 0;
        width: min(280px, 86vw);
        height: 100%;
        margin: 0;
        background: var(--paper);
        border-inline-start: 1px solid var(--ink);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0.75rem 1.25rem 1.25rem;
        transform: translateX(110%);
    }

    [dir="rtl"] .nav-bar-links {
        transform: translateX(-110%);
    }

    .nav-bar-menu.active {
        visibility: visible;
        pointer-events: auto;
    }

    .nav-bar-menu.active .nav-bar-links,
    [dir="rtl"] .nav-bar-menu.active .nav-bar-links {
        transform: none;
    }

    .nav-bar-menu-close {
        display: inline-flex;
        align-self: flex-end;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        margin-bottom: 0.35rem;
        padding: 0;
        border: 0;
        background: none;
        color: var(--ink);
        cursor: pointer;
    }

    .nav-bar-links a,
    .nav-bar-links a:hover,
    .nav-bar-links a:focus,
    .nav-bar-links a:active {
        display: flex;
        align-items: center;
        height: 44px;
        justify-content: flex-start;
        box-shadow: none;
        border-bottom: 1px solid var(--paper-2);
        transition: opacity 0.15s ease;
    }

    .nav-bar-links a:hover {
        opacity: 0.8;
    }
}

@media (max-width: 560px) {

    .ib-lang__label,
    .ib-lang__toggle .fa-angle-down {
        display: none;
    }

    .ib-top__inner,
    .nav-bar-container {
        gap: 0.55rem;
    }

    .ib-top__actions,
    .nav-bar-actions {
        gap: 0.45rem;
        margin-inline-start: 0;
    }
}

/* Home sheet */
.sheet-stage {
    width: min(760px, calc(100% - 2.5rem));
    margin: 0 auto;
    padding: 3.5rem 0 4rem;
    text-align: center;
}

.sheet-index {
    margin: 0 0 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.72rem;
    color: var(--muted);
}

.sheet-title {
    margin: 0 auto 1.75rem;
    max-width: 12ch;
    font-size: clamp(2.6rem, 7vw, 4.6rem);
    line-height: 0.92;
    font-weight: 600;
}

.sheet-well {
    margin: 0 auto 1.25rem;
}

.sheet-note {
    margin: 0 auto;
    max-width: 46ch;
    color: var(--muted);
    font-size: 0.95rem;
}

.sheet .uploadbox {
    position: relative;
    display: block;
    inset: auto;
    padding: 0;
}

.sheet .uploadbox .overlay,
.sheet .uploadbox-header .btn-close,
.sheet .uploadbox-kicker {
    display: none;
}

.sheet .uploadbox-content {
    background: transparent;
    box-shadow: none;
    border: 0;
    max-height: none;
    opacity: 1;
    transform: none;
    width: 100%;
}

.sheet .uploadbox-body {
    padding: 0;
}

.sheet .uploadbox-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 3;
    min-height: 0;
}

.sheet .uploadbox-body-header {
    margin: 0;
    color: var(--muted);
    font-size: 0.8rem;
    text-align: start;
}

.upload-limit-sep {
    margin: 0 0.25rem;
}

.uploadbox-tools {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 1rem;
}

.upload-text-btn {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    background: none;
    border: 0;
    padding: 0;
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.upload-text-btn .fas {
    margin-inline-end: 0.35rem;
}

.upload-text-btn:hover {
    opacity: 0.8;
}

@media (max-width: 720px) {
    .sheet .uploadbox-header {
        flex-direction: column;
        align-items: center;
        gap: 0.55rem;
    }

    .sheet .uploadbox-body-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.15rem;
    }

    .sheet .upload-limit-sep {
        display: none;
    }

    .sheet .uploadbox-tools {
        justify-content: center;
    }
}

.dz-hidden-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.uploadbox-drag {
    min-height: 340px;
    border: 1px solid var(--ink);
    background: var(--paper);
    cursor: pointer;
    display: grid;
    place-items: center;
    padding: 2.5rem 1.25rem;
    text-align: center;
}

.uploadbox-drag.inactive {
    display: none;
}

.uploadbox-drag-inner {
    max-width: 28ch;
    margin-inline: auto;
    text-align: center;
}

.upload-mark {
    display: block;
    width: 56px;
    height: 56px;
    margin: 0 auto 1.25rem;
    color: inherit;
}

.upload-mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

.upload-hint {
    margin: 0 0 0.35rem;
    font-family: var(--display);
    font-size: 1.35rem;
    line-height: 1.15;
    text-align: center;
}

.upload-browse {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    text-align: center;
}

.uploadbox-wrapper {
    display: none;
    text-align: start;
}

.uploadbox-wrapper.active {
    display: block;
}

.dropzone {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    border: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
    margin: 0;
    padding: 0 !important;
}

.dz-add-more {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 320px;
    width: 100%;
    margin: 0;
    padding: 1.5rem;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    text-align: center;
}

.dz-add-more.show {
    display: flex;
}

.dz-add-more:hover {
    opacity: 0.8;
}

.dz-add-more .upload-mark {
    margin: 0;
}

.dz-add-more__label {
    font-family: var(--display);
    font-size: 1.15rem;
    line-height: 1.2;
}

.dz-preview-container {
    border: 1px solid var(--ink);
    padding: 1rem;
    background: #fffdf8;
    height: auto;
    position: relative;
}

.dz-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0.85rem;
    position: relative;
    z-index: 2;
}

.dz-actions svg {
    width: 18px;
    height: 18px;
    display: block;
}

.dz-edit .icon-locked {
    display: none;
}

.dz-edit.is-locked .icon-unlocked {
    display: none;
}

.dz-edit.is-locked .icon-locked {
    display: block;
}

.dz-actions button {
    background: none;
    border: 0;
    padding: 0;
    color: var(--ink);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    line-height: 1;
    text-decoration: none;
}

.dz-actions button:hover {
    opacity: 0.8;
}

.dz-thumb {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 210px;
    margin-bottom: 0.9rem;
    background: var(--paper);
}

.dz-preview img[data-dz-thumbnail] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.dz-name {
    font-size: 0.95rem;
    line-height: 1.35;
    word-break: break-word;
}

.dz-size {
    margin-top: 0.35rem;
    color: var(--muted);
    font-size: 0.82rem;
}

.dz-progress,
.dz-upload-precent {
    display: none;
}

.dz-preview.dz-processing .dz-progress,
.dz-preview.dz-processing .dz-upload-precent {
    display: block;
}

.dz-preview.dz-success .dz-progress,
.dz-preview.dz-success .dz-upload-precent,
.dz-preview.dz-complete .dz-progress,
.dz-preview.dz-complete .dz-upload-precent {
    display: none;
}

.dz-share {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.dz-share__field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
}

.dz-share .form-label {
    margin: 0;
}

.dz-share .form-control,
.dz-share .form-control[readonly] {
    width: 100%;
    margin: 0;
    background: #fffdf8;
    color: var(--ink);
    border-color: var(--ink);
}

.dz-share input.form-control {
    height: 44px;
}

.dz-share .btn-copy,
.dz-share .btn {
    width: 100%;
    height: 44px;
    margin: 0;
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    text-decoration: none;
}

.dz-share__more {
    align-self: flex-start;
    margin: 0;
    color: var(--ink);
    font-size: 0.9rem;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dz-share__more:hover {
    opacity: 0.8;
}

.dz-share__extra {
    display: none;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0;
}

.dz-share__extra.is-open {
    display: flex;
}

.dz-progress {
    height: 4px;
    background: var(--paper-2);
    margin-top: 0.9rem;
}

.dz-upload {
    display: block;
    width: 0;
    height: 100%;
    background: var(--ink);
}

.dz-upload-precent {
    margin-top: 0.35rem;
    color: var(--muted);
    font-size: 0.78rem;
}

.uploadbox-wrapper-form {
    margin-top: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.upload-delete {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 1rem;
}

.upload-delete .form-label {
    margin: 0;
}

.upload-auto-delete.form-select {
    width: 18rem;
    height: 44px;
    padding-block: 0;
    padding-inline-start: 0.9rem;
    padding-inline-end: 2.4rem;
    font-size: 1rem;
    color: var(--ink);
    background-color: #fff;
    text-align: start;
    text-align-last: start;
}

[dir="rtl"] .upload-auto-delete.form-select {
    padding-right: 0.9rem;
    padding-left: 2.4rem;
}

.dz-file-edit {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 5;
    background: var(--paper);
    padding: 1rem;
}

.dz-file-edit.active {
    display: flex;
    flex-direction: column;
}

.dz-file-edit>.overlay {
    display: none;
}

.dz-file-edit-box {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    position: relative;
    z-index: 1;
}

.dz-file-edit-box-header {
    display: flex;
    justify-content: flex-end;
}

.dz-file-edit-close {
    background: none;
    border: 0;
    padding: 0;
    color: var(--ink);
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.dz-file-edit-close svg {
    width: 16px;
    height: 16px;
    display: block;
}

.dz-file-edit .file-password {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 0.85rem;
    font-size: 1rem;
}

.dz-success-mark,
.dz-error-mark {
    display: none;
    position: absolute;
    right: 0.55rem;
    bottom: 0.55rem;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    background: var(--ink);
    color: var(--paper);
}

.dz-error-mark {
    background: #b42318;
    color: #fff;
}

.dz-preview.dz-success .dz-success-mark,
.dz-preview.dz-error .dz-error-mark {
    display: inline-flex;
}

.dz-dragbox {
    display: grid;
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(243, 239, 230, 0.72);
    color: var(--ink);
    place-items: center;
    text-align: center;
    font-family: var(--display);
    font-size: 2rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dz-dragbox.show {
    opacity: 1;
    visibility: visible;
}

.dz-dragbox-inner {
    display: grid;
    justify-items: center;
    gap: 0.85rem;
}

.dz-dragbox-inner p {
    margin: 0;
}

.dz-dragbox .upload-mark {
    margin: 0;
    color: var(--ink);
}

body:not(.sheet) .uploadbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1080;
    background: rgba(22, 21, 19, .45);
    padding: 1rem;
    align-items: center;
    justify-content: center;
}

body:not(.sheet) .uploadbox.active {
    display: flex;
}

body:not(.sheet) .uploadbox>.overlay {
    position: absolute;
    inset: 0;
}

body:not(.sheet) .uploadbox-content {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: 90vh;
    overflow: auto;
    background: var(--paper);
    border: 1px solid var(--ink);
    padding: 0;
}

body:not(.sheet) .uploadbox-body {
    padding: 1rem 1.25rem 1.25rem;
}

body:not(.sheet) .uploadbox-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.2rem 1rem;
    padding: 1.05rem 1.25rem 0.95rem;
    border-bottom: 1px solid var(--ink);
}

body:not(.sheet) .uploadbox-kicker {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    font-family: var(--display);
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

body:not(.sheet) .uploadbox-tools {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}

body:not(.sheet) .uploadbox-body-header {
    grid-column: 1 / -1;
    grid-row: 2;
    width: auto;
    margin: 0;
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

.uploadbox .btn-close {
    background: transparent;
    background-image: none;
    border: 0;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
    position: relative;
    opacity: 1;
    box-shadow: none;
}

.uploadbox .btn-close::before,
.uploadbox .btn-close::after {
    content: "";
    position: absolute;
    left: 6px;
    right: 6px;
    top: 15px;
    height: 1px;
    background: var(--ink);
}

.uploadbox .btn-close::before {
    transform: rotate(45deg);
}

.uploadbox .btn-close::after {
    transform: rotate(-45deg);
}

/* Advertisements — spacing/alignment only (no frames; AdSense-safe) */
.vr-adv {
    width: 100%;
    margin: 0 0 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.sheet>.vr-adv {
    width: min(1120px, calc(100% - 2.5rem));
    margin-inline: auto;
    margin-bottom: 2.5rem;
}

.vr-adv--compact {
    margin: 0;
}

.vr-adv--before {
    margin-bottom: 1.25rem;
}

.vr-adv--after {
    margin-top: 1.25rem;
    margin-bottom: 0;
}

.vr-adv--between {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.vr-adv-unit {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    line-height: 0;
}

.vr-adv-unit--leader {
    width: min(728px, 100%);
}

.vr-adv-unit--box {
    width: min(300px, 100%);
}

.vr-adv-unit img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border: 0;
}

.ib-prose .vr-adv-unit img,
.ib-article .vr-adv-unit img,
.ib-page .vr-adv-unit img {
    border: 0;
    margin: 0;
}

@media (max-width: 767.98px) {
    body.sheet>.vr-adv {
        width: calc(100% - 2rem);
        margin-bottom: 2rem;
    }

    .vr-adv {
        margin-bottom: 2rem;
    }
}

/* Lower sections */
.sheet-block {
    width: min(1120px, calc(100% - 2.5rem));
    margin: 0 auto 3rem;
    border-top: 1px solid var(--ink);
    padding-top: 1.25rem;
}

.sheet-block__label {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1rem;
}

.sheet-block__label span {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
}

.sheet-block__label h2 {
    margin: 0;
    font-size: 1.6rem;
    flex: 1;
}

.sheet-block__label a {
    font-size: 0.9rem;
    text-decoration: underline;
}

.sheet-rows {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sheet-rows li,
.sheet-rows>div {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 1.5rem;
    padding: 0.9rem 0;
    border-top: 1px solid var(--paper-2);
}

.sheet-card {
    border: 1px solid var(--ink);
    background: #fffdf8;
    padding: 1.25rem;
    margin-top: 1.25rem;
}

.sheet-card h1 {
    margin-top: 0;
    font-size: 2rem;
}

.sheet-card .form-label {
    display: block;
    margin-top: 0.8rem;
}

.image-sheet img {
    width: 100%;
    border: 1px solid var(--ink);
    margin-bottom: 1rem;
}

.desk-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: center;
}

.desk-tools a,
.desk-links a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* User app shell: sidebar + top bar */
.desk-app {
    min-height: 100vh;
    display: block;
    background: var(--paper);
}

.desk-app::before {
    content: "";
    position: fixed;
    z-index: 75;
    top: 0;
    bottom: 0;
    inset-inline-start: calc(260px - 1px);
    width: 1px;
    background: var(--ink);
    pointer-events: none;
    transition: transform 0.2s ease;
}

.desk-app .desk-shell {
    min-height: 100vh;
    margin-inline-start: 260px;
    display: flex;
    flex-direction: column;
    transition: margin-inline-start 0.2s ease;
}

.desk-side {
    position: fixed;
    top: 64px;
    bottom: 0;
    inset-inline-start: 0;
    width: 260px;
    z-index: 60;
    transition: transform 0.2s ease;
}

@media (min-width: 981px) {
    .desk-side__panel {
        border-inline-end: 0;
    }

    .desk-app.is-side-collapsed .desk-shell {
        margin-inline-start: 0;
    }

    .desk-app.is-side-collapsed .desk-side {
        transform: translateX(-100%);
        pointer-events: none;
    }

    [dir="rtl"] .desk-app.is-side-collapsed .desk-side {
        transform: translateX(100%);
    }

    .desk-app.is-side-collapsed::before {
        transform: translateX(-260px);
    }

    [dir="rtl"] .desk-app.is-side-collapsed::before {
        transform: translateX(260px);
    }

    .desk-bar__inner {
        position: relative;
    }

    .desk-bar__logo {
        position: absolute;
        inset-inline-start: 1.25rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .desk-bar__start {
        margin-inline-start: calc(260px + 0.85rem - 1.25rem);
    }

    .desk-app.is-side-collapsed .desk-bar__logo {
        position: static;
        transform: none;
    }

    .desk-app.is-side-collapsed .desk-bar__start {
        margin-inline-start: 0;
    }
}

.desk-side__overlay {
    display: none;
}

.desk-side__panel {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border-inline-end: 1px solid var(--ink);
    padding: 1.15rem 1rem 1rem;
}

.desk-side__nav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 1;
    overflow: auto;
    padding: 0.2rem 0;
}

.desk-side__link,
.desk-side__link:hover,
.desk-side__link:focus,
.desk-side__link:active {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 42px;
    padding: 0 0.75rem;
    color: var(--ink);
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.2;
}

.desk-side__link .bi {
    width: 1.1rem;
    font-size: 1.05rem;
    line-height: 1;
    color: var(--muted);
    flex-shrink: 0;
}

.desk-side__link:hover {
    opacity: 0.7;
}

.desk-side__link.is-active {
    background: transparent;
    color: var(--ink);
    font-weight: 600;
}

.desk-side__link.is-active .bi {
    color: var(--ink);
}

.desk-side__badge {
    margin-inline-start: auto;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 99px;
    background: var(--ink);
    color: var(--paper);
    font-size: 0.7rem;
    font-style: normal;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.desk-side__user,
.desk-side__user:hover,
.desk-side__user:focus,
.desk-side__user:active {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: auto;
    margin-inline: -1rem;
    padding: 1rem 1rem 0.25rem;
    border: 0;
    border-top: 1px solid var(--ink);
    background: transparent;
    color: inherit;
    text-decoration: none;
}

.desk-side__user>.bi {
    margin-inline-start: auto;
    font-size: 0.85rem;
    line-height: 1;
    flex-shrink: 0;
}

[dir="rtl"] .desk-side__user>.bi,
[dir="rtl"] .bi-arrow-left,
[dir="rtl"] .bi-chevron-right {
    transform: scaleX(-1);
}

.desk-side__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 0;
    flex-shrink: 0;
}

.desk-side__user-meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.desk-side__user-meta strong {
    font-size: 0.92rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.desk-side__user-meta small {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.desk-bar {
    position: sticky;
    top: 0;
    z-index: 70;
    width: 100%;
    background: var(--paper);
    border-bottom: 1px solid var(--ink);
}

.desk-bar__inner {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 1.25rem;
}

.desk-bar__start {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.desk-bar__logo,
.desk-bar__logo:hover {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    color: inherit;
    text-decoration: none;
}

.desk-bar__logo img {
    display: block;
    height: 35px;
    width: auto;
    max-width: none;
}

.desk-bar__toggle {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
    line-height: 0;
}

.desk-bar__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-inline-start: auto;
    flex-shrink: 0;
}

.desk-bar__actions [data-upload-btn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    height: 38px;
    padding: 0 1.05rem;
}

.desk-bar__actions [data-upload-btn] .bi {
    font-size: 0.9rem;
    line-height: 1;
}

.desk-bar .desk-bar__search {
    flex: 1;
    width: auto;
    min-width: 0;
    margin: 0;
    align-self: stretch;
}

.desk-bar .desk-bar__search input,
.desk-bar .desk-bar__search input:hover,
.desk-bar .desk-bar__search input:focus {
    width: 100%;
    height: 100%;
    min-height: 64px;
    padding-inline: 2.5rem 0.15rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.desk-bar .desk-bar__search button,
.desk-bar .desk-bar__search .icon {
    inset-inline-start: 0;
    inset-inline-end: auto;
    color: var(--muted);
    background: transparent;
}

.desk-bar__search-drop {
    display: none;
}

.desk-bar__search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ink);
    line-height: 1;
}

.desk-bar__search-btn .bi {
    font-size: 1.25rem;
}

.desk-bar__search-menu {
    display: none;
    position: absolute;
    top: 100%;
    inset-inline: 0;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--ink);
    background: var(--paper);
    z-index: 71;
}

.desk-bar__search-drop.active .desk-bar__search-menu {
    display: block;
}

.desk-bar__search-menu .form-search {
    width: 100%;
    height: 52px;
}

.desk-bar__search-menu .form-control,
.desk-bar__search-menu .form-control:hover,
.desk-bar__search-menu .form-control:focus {
    height: 52px;
    padding-inline: 3.25rem 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.desk-bar__search-menu .icon {
    inset-inline-start: 0.85rem;
    inset-inline-end: auto;
    width: 1.5rem;
    color: var(--muted);
}

.desk-bar .ib-lang,
.desk-bar .ib-user-menu {
    display: flex;
    align-items: center;
    height: 34px;
}

.desk-bar .ib-lang__toggle,
.desk-bar .ib-user-menu__toggle {
    height: 34px;
    padding: 0 2px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1;
    white-space: nowrap;
}

.desk-bar .ib-user-menu__avatar,
.desk-bar .user-img {
    width: 35px;
    height: 35px;
    display: block;
}

@media screen and (max-width: 768px) {

    .desk-bar .ib-user-menu__avatar,
    .desk-bar .user-img {
        width: 26px;
        height: 26px;
    }
}

.desk-bar .ib-user-menu__name {
    font-size: 0.92rem;
    line-height: 1;
}

.desk-bar .notifications-count {
    position: absolute;
    top: -6px;
    inset-inline-end: -6px;
}

.desk-notify-btn {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    position: relative;
}

.desk-notify-btn .bi {
    font-size: 1rem;
    line-height: 1;
}

.desk-content {
    flex: 1;
    width: 100%;
    padding: 1.5rem 0 2.5rem;
}

.desk-container,
.desk-container-lg,
.desk-container-md,
.desk-container-sm,
.desk-container-xs {
    width: min(1120px, calc(100% - 2.5rem));
    margin: 0 auto;
}

.desk-container-lg {
    width: min(1360px, calc(100% - 2.5rem));
}

.desk-container-md {
    width: min(880px, calc(100% - 2.5rem));
}

.desk-container-sm {
    width: min(720px, calc(100% - 2.5rem));
}

.desk-container-xs {
    width: min(560px, calc(100% - 2.5rem));
}

.desk-container-full {
    width: calc(100% - 2.5rem);
    max-width: none;
    margin: 0 auto;
}

.desk-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 1.25rem;
}

.desk-head__main {
    min-width: 0;
    flex: 1;
}

.desk-head h1 {
    margin: 0;
    font-size: 1.55rem;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.desk-head__tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.desk-head__tools .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.desk-head__tools .btn .bi {
    font-size: 0.95rem;
    line-height: 1;
}

.ib-breadcrumb {
    margin: 0 0 0.55rem;
}

.ib-breadcrumb .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0;
    padding: 0;
    margin: 0;
    list-style: none;
    background: transparent;
    font-size: 0.82rem;
}

.ib-breadcrumb .breadcrumb-item,
.ib-breadcrumb .breadcrumb-item a,
.ib-breadcrumb .breadcrumb-item a:hover {
    color: var(--muted);
    text-decoration: none;
}

.ib-breadcrumb .breadcrumb-item a:hover {
    color: var(--ink);
}

.ib-breadcrumb .breadcrumb-item.active {
    color: var(--ink);
}

.ib-breadcrumb .breadcrumb-item+.breadcrumb-item {
    padding-inline-start: 0.45rem;
}

.ib-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    content: "/";
    float: inline-start;
    padding-inline-end: 0.45rem;
    color: var(--muted);
}

.ib-page__title-bar .ib-breadcrumb {
    display: flex;
    justify-content: center;
    margin-bottom: 0.65rem;
}

.ib-page__crumbs {
    padding: 1rem 0 0;
}

.ib-page__crumbs .ib-breadcrumb {
    margin-bottom: 0;
}

.ib-auth__body>.ib-breadcrumb {
    width: min(460px, 100%);
    margin: 0 auto 0.85rem;
}

.dash-metrics {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    border: 1px solid var(--ink);
    margin-bottom: 1.25rem;
}

.dash-metrics article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.2rem 1.2rem;
    min-width: 0;
}

.dash-metrics article+article {
    border-inline-start: 1px solid var(--ink);
}

.dash-metrics__body {
    min-width: 0;
    flex: 1;
}

.dash-metrics__icon {
    flex-shrink: 0;
    font-size: 2.75rem;
    line-height: 1;
    color: var(--ink);
}

.dash-metrics p {
    margin: 0 0 0.55rem;
    color: var(--muted);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dash-metrics strong {
    font-family: var(--display);
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--ink);
}

.dash-metrics span {
    color: var(--muted);
    margin-inline-start: 0.3rem;
}

.dash-metrics a {
    display: block;
    width: fit-content;
    margin-top: 0.7rem;
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dash-metrics .space-progress {
    display: block;
    height: 6px;
    margin-top: 0.9rem;
    background: var(--paper-2);
}

.dash-metrics .space-progress-inner {
    display: block;
    height: 100%;
    background: var(--ink);
}

.dash-metrics .space-progress-inner.is-warn {
    background: #9a7b2f;
}

.dash-metrics .space-progress-inner.is-danger {
    background: #b42318;
}

.dash-panel {
    border: 1px solid var(--ink);
    padding: 1rem 1.1rem 1.15rem;
    margin-bottom: 1.25rem;
}

.dash-panel header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.dash-panel h2 {
    margin: 0;
    font-family: var(--font);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0;
}

.dash-panel header a {
    color: var(--ink);
    font-size: 0.88rem;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.dash-photos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.dash-photos__item,
.dash-photos__item:hover,
.dash-photos__item:focus,
.dash-photos__item:active {
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    border: 1px solid var(--ink);
    background: var(--paper);
    overflow: hidden;
}

.dash-photos__frame {
    display: block;
    background: var(--paper-2);
    border-bottom: 1px solid var(--ink);
}

.dash-photos__frame img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
}

.dash-photos__meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.7rem 0.75rem 0.8rem;
    min-width: 0;
}

.dash-photos__meta strong {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-photos__meta em {
    display: block;
    color: var(--muted);
    font-style: normal;
    font-size: 0.76rem;
    line-height: 1.3;
}

@media (max-width: 980px) {
    .dash-photos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .dash-metrics {
        grid-template-columns: 1fr;
    }

    .dash-metrics article+article {
        border-inline-start: 0;
        border-top: 1px solid var(--ink);
    }

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

@media (max-width: 480px) {
    .dash-photos {
        grid-template-columns: 1fr;
    }
}

.desk-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.desk-stat,
.desk-panel {
    background: #fffdf8;
    border: 1px solid var(--ink);
    padding: 1.25rem 1.2rem 1.3rem;
}

.desk-stat__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.desk-stat__head h2,
.desk-panel__head h2 {
    margin: 0;
    font-size: 1.05rem;
    font-family: var(--font);
    letter-spacing: 0;
    font-weight: 600;
}

.desk-stat__head .bi {
    font-size: 1.25rem;
    line-height: 1;
    color: var(--muted);
}

.desk-stat__meta {
    margin: 0 0 0.75rem;
    color: var(--muted);
    font-size: 0.95rem;
}

.desk-stat__value {
    margin: 0 0 0.55rem;
    font-family: var(--display);
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: -0.03em;
}

.desk-stat__link,
.desk-stat__link:hover,
.desk-stat__link:focus,
.desk-stat__link:active {
    color: var(--ink);
    text-decoration: none;
    box-shadow: inset 0 -1px 0 var(--ink);
    font-size: 0.9rem;
}

.desk-stat .space-progress {
    margin-top: 0;
    height: 8px;
    background: var(--paper-2);
}

.desk-stat .space-progress-inner.is-warn {
    background: #9a7b2f;
}

.desk-stat .space-progress-inner.is-danger {
    background: #b42318;
}

.desk-panel {
    margin-bottom: 1.25rem;
}

.desk-panel__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.desk-panel__head a,
.desk-panel__head a:hover,
.desk-panel__head a:focus,
.desk-panel__head a:active {
    color: var(--ink);
    text-decoration: none;
    box-shadow: inset 0 -1px 0 var(--ink);
    font-size: 0.9rem;
    white-space: nowrap;
}

.desk-recent-posts img {
    filter: none;
}

.desk-recent-posts strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.desk-empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
}

.desk-empty p {
    margin: 0;
    color: var(--muted);
}

.desk-empty .btn {
    min-height: 42px;
}

.desk-empty-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3.75rem 2rem;
    border: 0;
    background: transparent;
}

.desk-empty-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    border: 1px solid var(--paper-2);
    color: var(--muted);
}

.desk-empty-card__icon .bi {
    font-size: 1.6rem;
    line-height: 1;
}

.desk-empty-card h2 {
    margin: 0 0 0.45rem;
    font-family: var(--font);
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--muted);
}

.desk-empty-card p {
    margin: 0;
    max-width: 38ch;
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.desk-empty-card .btn {
    margin-top: 1.25rem;
}


.desk-part {
    border-top: 1px solid var(--ink);
    padding-top: 1.15rem;
    margin-bottom: 2.4rem;
}

.desk-part__label {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1rem;
}

.desk-part__label span {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    color: var(--muted);
}

.desk-part__label h2 {
    margin: 0;
    flex: 1;
    font-size: 1.6rem;
    font-weight: 600;
}

.desk-part__label a,
.desk-lines a,
.desk-links-list a,
.desk-tabs a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.desk-lines {
    margin: 0;
    padding: 0;
}

.desk-lines>div {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
    padding: 0.95rem 0;
    border-top: 1px solid var(--paper-2);
}

.desk-lines strong {
    font-family: var(--display);
    font-size: 1.15rem;
    font-weight: 500;
}

.desk-lines span {
    display: block;
}

.desk-lines b {
    display: block;
    font-family: var(--display);
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1;
}

.desk-lines em {
    color: var(--muted);
    font-style: normal;
    font-size: 0.95rem;
}

.desk-lines a {
    display: block;
    margin-top: 0.55rem;
    width: fit-content;
}

.desk-lines .space-progress {
    display: block;
    height: 6px;
    margin-top: 0.75rem;
    background: var(--paper-2);
}

.desk-lines .space-progress-inner {
    display: block;
    height: 100%;
    background: var(--ink);
}

.desk-lines .space-progress-inner.is-warn {
    background: #9a7b2f;
}

.desk-lines .space-progress-inner.is-danger {
    background: #b42318;
}

.desk-gallery-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.desk-gallery-tools .form-search {
    width: 240px;
}

.desk-gallery-tools .form-control,
.desk-gallery-tools .btn,
.desk-gallery-tools .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding-inline: 0.85rem;
}

.desk-select {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 40px;
    margin: 0;
    padding: 0 0.85rem;
    border: 1px solid var(--ink);
    background: #fff;
    cursor: pointer;
    user-select: none;
    font-size: 0.9rem;
    line-height: 1;
    white-space: nowrap;
}

.desk-select span {
    display: block;
    line-height: 1;
}

.desk-select input {
    appearance: none;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    flex: 0 0 16px;
    border: 1px solid var(--ink);
    border-radius: 0;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 12px;
    cursor: pointer;
}

.desk-select input:checked {
    background-color: var(--ink);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f3efe6' stroke-linecap='square' stroke-linejoin='miter' stroke-width='2' d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3e%3c/svg%3e");
}

.desk-wall {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.7rem;
}

.desk-wall__item {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: var(--paper-2);
    border: 1px solid var(--ink);
}

.desk-wall__photo,
.desk-wall__photo:hover,
.desk-wall__photo:focus,
.desk-wall__photo:active {
    display: block;
    color: inherit;
    text-decoration: none;
}

.desk-wall__photo img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
}

.desk-wall__item.is-picked {
    box-shadow: 0 0 0 2px var(--ink);
}

.desk-wall__pick {
    position: absolute;
    top: 0.55rem;
    inset-inline-start: 0.55rem;
    z-index: 3;
    margin: 0;
    display: grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    background: var(--paper);
    border: 1px solid var(--ink);
    cursor: pointer;
    opacity: 0;
}

.desk-wall__item:hover .desk-wall__pick,
.desk-wall__item:focus-within .desk-wall__pick,
.desk-wall__item.is-picked .desk-wall__pick {
    opacity: 1;
}

.desk-wall__pick input {
    width: 0.9rem;
    height: 0.9rem;
    margin: 0;
    accent-color: var(--ink);
    cursor: pointer;
}

.desk-wall__meta {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem;
    background: var(--paper);
    border-top: 1px solid var(--ink);
    transform: translateY(100%);
    transition: transform 0.16s ease;
}

.desk-wall__item:hover .desk-wall__meta,
.desk-wall__item:focus-within .desk-wall__meta,
.desk-wall__item.is-picked .desk-wall__meta {
    transform: none;
}

.desk-wall__meta>a,
.desk-wall__meta>a:hover,
.desk-wall__meta>a:focus,
.desk-wall__meta>a:active {
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.desk-wall__meta strong {
    display: block;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.desk-wall__meta em {
    display: block;
    color: var(--muted);
    font-style: normal;
    font-size: 0.74rem;
    line-height: 1.3;
}

.desk-wall__tools {
    display: flex;
    flex-shrink: 0;
    gap: 0.3rem;
}

.desk-wall__tools form {
    display: none;
}

.desk-wall__icon,
.desk-wall__icon:hover,
.desk-wall__icon:focus,
.desk-wall__icon:active {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--ink);
    background: var(--paper);
    color: var(--ink);
    text-decoration: none;
    cursor: pointer;
    line-height: 1;
}

.desk-wall__icon:hover {
    background: var(--ink);
    color: var(--paper);
}

.desk-wall__icon .bi {
    font-size: 0.85rem;
}

.desk-photo-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.9rem;
    margin-top: 0.35rem;
}

.desk-photo-actions a,
.desk-photo-actions .desk-text-btn,
.desk-text-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    font-size: 0.82rem;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: var(--ink);
}

@media (hover: none) {
    .desk-wall__pick {
        opacity: 1;
    }

    .desk-wall__meta {
        transform: none;
    }
}

.desk-pager {
    margin-top: 1.6rem;
}

.desk-shot {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
    border: 1px solid var(--ink);
    background: var(--paper);
}

.desk-shot__media {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(58vh, 640px);
    padding: 1.25rem;
    background: var(--paper-2);
    border-inline-end: 1px solid var(--ink);
}

.desk-shot__media img {
    display: block;
    width: 100%;
    max-height: min(64vh, 720px);
    object-fit: contain;
    background: var(--paper);
}

.desk-shot__side {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 1.25rem 1.3rem 1.35rem;
}

.desk-shot__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.9rem;
    margin: 0 0 1.15rem;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid var(--paper-2);
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

.desk-shot__meta span {
    position: relative;
}

.desk-shot__meta span+span::before {
    content: "·";
    position: absolute;
    inset-inline-start: -0.6rem;
    color: var(--muted);
}

.desk-form--flush {
    width: 100%;
    max-width: none;
}

.desk-shot__side .desk-form>.btn {
    width: 100%;
    margin-top: 1.2rem;
}

.desk-shot__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 1.1rem;
    margin-top: auto;
    padding-top: 1.2rem;
}

.desk-shot__links form {
    display: inline;
    margin: 0;
}

.desk-shot__links a,
.desk-shot__links .desk-text-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ink);
    font-size: 0.86rem;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

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

    .desk-shot__media {
        min-height: 0;
        border-inline-end: 0;
        border-bottom: 1px solid var(--ink);
        padding: 1rem;
    }

    .desk-shot__media img {
        max-height: min(48vh, 460px);
    }
}

.desk-settings {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.desk-card {
    border: 1px solid var(--ink);
    padding: 1.15rem 1.2rem 1.3rem;
    scroll-margin-top: 5.5rem;
}

.desk-card>header {
    margin: 0 0 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--paper-2);
}

.desk-card>header h2 {
    margin: 0;
    font-family: var(--font);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0;
}

.desk-card .desk-form {
    width: 100%;
    max-width: none;
}

.desk-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.desk-card__actions .btn {
    margin-top: 0;
}

.desk-form {
    width: min(560px, 100%);
}

.desk-form .form-label {
    display: block;
    margin: 0.95rem 0 0.35rem;
}

.desk-form .form-control,
.desk-form .form-select {
    height: 46px;
    background-color: #fff;
}

.desk-form textarea.form-control {
    height: auto;
}

.desk-form .bootstrap-tagsinput {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    min-height: 46px;
    height: auto;
    padding: 0.45rem 0.75rem;
    background: #fff;
    border: 1px solid var(--ink);
    border-radius: 0;
    box-shadow: none;
}

.desk-form .bootstrap-tagsinput.focus,
.desk-form .bootstrap-tagsinput:focus-within {
    outline: none;
    box-shadow: none;
}

.desk-form .bootstrap-tagsinput input {
    flex: 1 1 auto;
    min-width: 120px;
    width: auto !important;
    height: auto;
    margin: 0;
    padding: 0.15rem 0.25rem;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink);
}

.desk-form .bootstrap-tagsinput .tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0.3rem 0.55rem;
    background: var(--paper);
    color: var(--ink);
    border: 1px solid var(--ink);
    border-radius: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
}

.desk-form .bootstrap-tagsinput .tag [data-role="remove"] {
    cursor: pointer;
    opacity: 0.75;
}

.desk-form .bootstrap-tagsinput .tag [data-role="remove"]:after {
    content: "\00d7";
    padding: 0;
}

.desk-form>.btn {
    margin-top: 1.1rem;
    min-height: 44px;
}

.desk-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
}

.desk-form__hint,
.desk-form__note,
.desk-form__lead {
    display: block;
    margin: 0.45rem 0 0;
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.desk-form__lead {
    margin-bottom: 0.4rem;
}

.desk-avatar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.desk-avatar img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
}

.desk-avatar__meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.desk-avatar label {
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    width: fit-content;
}

.desk-avatar .desk-form__hint {
    margin: 0;
}

.desk-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1.35rem;
    margin: -0.6rem 0 1.6rem;
}

.desk-tabs a {
    color: var(--muted);
    text-decoration: none;
}

.desk-tabs a.is-active {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.desk-2fa {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    margin: 1rem 0 1rem;
}

.desk-2fa__qr {
    margin: 0;
}

.desk-2fa__qr img,
.desk-2fa__qr svg {
    display: block;
    width: 160px;
    height: auto;
    max-width: 100%;
}

.desk-2fa__side .form-label {
    margin-top: 0;
}

.desk-2fa__side .desk-card__actions {
    margin-top: 0.85rem;
}

@media (max-width: 640px) {
    .desk-2fa {
        grid-template-columns: 1fr;
    }
}

.desk-links-list {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
}

.desk-links-list li {
    padding: 0.4rem 0;
    border-top: 1px solid var(--paper-2);
}

.desk-links-list a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.desk-links-list .bi {
    font-size: 1rem;
    line-height: 1;
    color: var(--ink);
}

.desk-notes {
    display: flex;
    flex-direction: column;
}

.desk-note,
.desk-note:hover,
.desk-note:focus,
.desk-note:active {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1.05rem 0;
    border-top: 1px solid var(--paper-2);
    color: inherit;
    text-decoration: none;
}

.desk-note:first-child {
    border-top: 0;
}

.desk-note:hover {
    opacity: 0.85;
}

.desk-note.is-unread {
    box-shadow: inset 3px 0 0 var(--ink);
}

.desk-note.is-unread:hover {
    opacity: 1;
}

.desk-note img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
    background: var(--paper-2);
}

.desk-note span {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.desk-note strong {
    display: block;
    font-family: var(--display);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--muted);
    text-decoration: none;
}

.desk-note.is-unread strong {
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
}

.desk-note em {
    display: block;
    color: var(--muted);
    font-style: normal;
    font-size: 0.8rem;
    line-height: 1.3;
}

.desk-modal-actions {
    display: flex;
    gap: 0.6rem;
    margin-top: 1rem;
}

#shareModal .desk-share {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

#shareModal .desk-share__name {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.35;
    word-break: break-word;
}

#shareModal .desk-share__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
}

#shareModal .desk-share__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

#shareModal .desk-share__field .form-label {
    margin: 0;
}

#shareModal .desk-share__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
}

#shareModal .desk-share__row .form-control {
    border-inline-end: 0;
}

#shareModal .desk-share__row .btn {
    margin: 0;
    height: 44px;
    padding-inline: 1rem;
    border-radius: 0;
}

#shareModal .desk-share__field>.btn {
    width: 100%;
    min-height: 44px;
    margin: 0;
}

#shareModal .social-btn {
    width: 40px;
    height: 40px;
    margin: 0;
    font-size: 1.05rem;
}

#shareModal .social-btn:hover {
    background: var(--ink);
    color: var(--paper);
}

@media (max-width: 900px) {

    .desk-lines>div,
    .desk-form__row {
        grid-template-columns: 1fr;
    }

    .desk-wall {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .desk-wall {
        grid-template-columns: 1fr;
    }
}

.desk-app.is-side-open {
    overflow: hidden;
}

@media (max-width: 980px) {
    .desk-app .desk-shell {
        margin-inline-start: 0;
    }

    .desk-side {
        width: 100%;
        pointer-events: none;
    }

    .desk-side__overlay {
        display: block;
        position: absolute;
        inset: 0;
        background: rgba(22, 21, 19, 0.35);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.15s ease;
    }

    .desk-app::before {
        display: none;
    }

    .desk-side__panel {
        position: absolute;
        inset-block: 0;
        inset-inline-start: 0;
        width: min(300px, 88vw);
        transform: translateX(-105%);
        transition: transform 0.2s ease;
        border-inline-end: 1px solid var(--ink);
    }

    [dir="rtl"] .desk-side__panel {
        transform: translateX(105%);
    }

    .desk-app.is-side-open .desk-side {
        pointer-events: auto;
    }

    .desk-app.is-side-open .desk-side__overlay {
        opacity: 1;
        visibility: visible;
    }

    .desk-app.is-side-open .desk-side__panel,
    [dir="rtl"] .desk-app.is-side-open .desk-side__panel {
        transform: none;
    }

    .desk-bar__toggle {
        display: inline-flex;
    }

    .desk-bar__inner {
        padding: 0 1rem;
    }

    .desk-bar__logo img {
        height: 26px;
    }

    .desk-bar {
        position: sticky;
    }

    .desk-bar__search--desk {
        display: none;
    }

    .desk-bar__search-drop {
        display: block;
    }

    .desk-bar__search-menu {
        position: fixed;
        top: calc(64px + 1px);
        inset-inline: 0;
        width: 100vw;
        max-width: none;
    }

    .desk-bar__upload-label,
    .desk-bar .ib-user-menu__name,
    .desk-bar .ib-user-menu__toggle .bi-chevron-down {
        display: none;
    }

    .desk-bar__actions {
        gap: 0.85rem;
    }

    .desk-bar__actions [data-upload-btn],
    .desk-bar__actions [data-upload-btn]:hover,
    .desk-bar__actions [data-upload-btn]:focus,
    .desk-bar__actions [data-upload-btn]:active,
    .desk-notify-btn,
    .desk-notify-btn:hover,
    .desk-notify-btn:focus,
    .desk-notify-btn:active {
        width: auto;
        height: auto;
        min-height: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--ink);
        box-shadow: none;
    }

    .desk-bar__actions [data-upload-btn] .bi,
    .desk-notify-btn .bi {
        font-size: 1.25rem;
    }

    .desk-container,
    .desk-container-lg,
    .desk-container-md,
    .desk-container-sm,
    .desk-container-xs,
    .desk-container-full {
        width: calc(100% - 2rem);
    }
}

.sheet-posts article {
    position: relative;
}

.sheet-posts article.is-picked {
    outline: 2px solid var(--ink);
}

.space-progress {
    display: block;
    margin-top: 0.4rem;
}

.sheet-rows strong {
    font-family: var(--display);
    font-size: 1.15rem;
}

.sheet-rows span {
    color: var(--muted);
}

.sheet-posts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.sheet-posts a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.sheet-posts img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    border: 1px solid var(--ink);
}

.sheet-posts strong {
    display: block;
    margin-top: 0.45rem;
}

.sheet-posts small,
.sheet-posts em {
    color: var(--muted);
    font-style: normal;
    font-size: 0.8rem;
}

.sheet-faq details {
    border-top: 1px solid var(--paper-2);
    padding: 0.7rem 0;
}

.sheet-faq summary {
    cursor: pointer;
    font-family: var(--display);
    font-size: 1.15rem;
}

.sheet-faq div {
    color: var(--muted);
    padding: 0.4rem 0 0.2rem;
}

.sheet-faq details>div p:last-child {
    margin-bottom: 0;
}

.ib-faqs {
    width: min(760px, 100%);
    margin: 0 auto;
}

.ib-faqs__lead {
    margin: 0 0 1.5rem;
    text-align: center;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.55;
}

.ib-faqs__list {
    background: #fffdf8;
    border: 1px solid var(--ink);
    padding: 0.35rem 1.25rem 0.5rem;
}

.ib-faqs__list details {
    border-top: 1px solid var(--paper-2);
    padding: 1rem 0;
}

.ib-faqs__list details:first-child {
    border-top: 0;
}

.ib-faqs__list summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    font-family: var(--display);
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--ink);
}

.ib-faqs__list summary::-webkit-details-marker {
    display: none;
}

.ib-faqs__list summary::after {
    content: "";
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-inline-end: 1.5px solid var(--ink);
    border-bottom: 1.5px solid var(--ink);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
}

.ib-faqs__list details[open] summary::after {
    transform: rotate(225deg);
    margin-top: 0.35rem;
}

.ib-faqs__list details>div {
    color: var(--muted);
    padding: 0.65rem 0 0.15rem;
    font-size: 0.98rem;
    line-height: 1.6;
}

.ib-faqs__list details>div p:last-child {
    margin-bottom: 0;
}

.ib-faqs__pager {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
}

.ib-footer,
.footer {
    margin-top: auto;
    border-top: 1px solid var(--ink);
    background: var(--paper);
    padding: 1.25rem 0;
}

.ib-footer__inner {
    width: min(1120px, calc(100% - 2.5rem));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    flex-wrap: wrap;
}

.desk-app .ib-footer {
    width: 100%;
    padding: 1.1rem 1.25rem;
}

.desk-app .ib-footer__inner {
    width: 100%;
    max-width: none;
    margin: 0;
}

.footer-links,
.ib-footer__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem 1.15rem;
    margin: 0;
}

.ib-footer__nav a,
.ib-footer__nav a:hover,
.ib-footer__nav a:focus,
.ib-footer__nav a:active,
.link,
.link:hover,
.link:focus,
.link:active {
    color: var(--ink);
    text-decoration: none;
}

.ib-footer__nav a:hover,
.link:hover {
    box-shadow: inset 0 -1px 0 var(--ink);
}

.ib-footer__copy {
    margin: 0;
    color: var(--muted);
}

/* Inner pages + dash + auth */
.ib-shell,
.ib-page .container-lg,
.ib-page .container,
.desk .container-lg,
.desk .container {
    width: min(1120px, calc(100% - 2.5rem));
    max-width: none;
    margin-inline: auto;
    padding-inline: 0;
}

.ib-page__title-bar,
.wrapper-page {
    border-bottom: 0;
    padding: 2rem 0 0.75rem;
    text-align: center;
}

.page-title {
    margin: 0;
    font-size: 2rem;
}

.ib-page .section {
    padding: 1.25rem 0 3rem;
}

.ib-page:has(.ib-file-lock) {
    min-height: 100vh;
}

.ib-page:has(.ib-file-lock) .ib-page__main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 0 3rem;
}

.ib-file-lock {
    width: min(460px, calc(100% - 2.5rem));
    margin: 0 auto;
}

.ib-file-lock__card {
    background: #fffdf8;
    border: 1px solid var(--ink);
    padding: 2.75rem 2rem 2.25rem;
    text-align: center;
}

.ib-file-lock__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    margin: 0 auto 1.35rem;
    border: 1px solid var(--ink);
    background: var(--paper);
    color: var(--ink);
}

.ib-file-lock__icon svg {
    width: 2.75rem;
    height: 2.75rem;
    display: block;
}

.ib-file-lock__title {
    margin: 0 0 0.45rem;
    font-family: var(--display);
    font-size: 1.55rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ink);
}

.ib-file-lock__text {
    margin: 0 auto 1.75rem;
    max-width: 28ch;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.55;
}

.ib-file-lock__form {
    text-align: start;
}

.ib-file-lock .input-password {
    margin-bottom: 0.9rem;
}

.ib-file-lock .form-control {
    text-align: start;
    min-height: 3.1rem;
}

.ib-file-lock .btn-lg {
    min-height: 3.1rem;
}

.ib-page:has(.ib-contact__lead) .ib-page__title-bar,
.ib-page:has(.ib-faqs__lead) .ib-page__title-bar,
.ib-page:has(.ib-contact__lead) .wrapper-page,
.ib-page:has(.ib-faqs__lead) .wrapper-page {
    padding-bottom: 0;
}

.ib-page:has(.ib-contact__lead) .section,
.ib-page:has(.ib-faqs__lead) .section {
    padding-top: 0.65rem;
}

.ib-contact__lead,
.ib-faqs__lead {
    margin-top: 0;
}

.section {
    padding: 2rem 0 3rem;
}

.card-v,
.blog-post,
.filemanager-file,
.sign-form,
.settings-form,
.card-v.v3 {
    background: #fffdf8;
    border: 1px solid var(--ink);
    border-radius: 0;
    padding: 1rem;
    box-shadow: none;
}

.ib-contact {
    width: min(640px, 100%);
    margin: 0 auto;
}

.ib-contact__lead {
    margin: 0 0 1rem;
    text-align: center;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.5;
}

.ib-contact__email {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 0.6rem;
    margin: 0 0 1.5rem;
    font-size: 0.95rem;
}

.ib-contact__email span {
    color: var(--muted);
}

.ib-contact__email a {
    color: var(--ink);
    text-decoration: none;
    box-shadow: inset 0 -1px 0 var(--ink);
}

.ib-contact__card {
    margin-top: 0;
    padding: 1.75rem 1.5rem;
}

.ib-contact .ib-contact-form .form-label {
    display: block;
    margin: 0.9rem 0 0.35rem;
}

.ib-contact .ib-contact-form .form-control {
    height: 48px;
    background: #fff;
}

.ib-contact .ib-contact-form textarea.form-control {
    height: auto;
    min-height: 160px;
    padding-top: 0.75rem;
    resize: vertical;
}

.ib-contact .ib-contact-form .btn {
    margin-top: 0.35rem;
    min-width: 140px;
}

@media (max-width: 640px) {
    .ib-contact__card {
        padding: 1.35rem 1.1rem;
    }
}

.sheet-block .ib-contact-form {
    width: 100%;
    max-width: none;
}

.blog-post-img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.ib-blog__top {
    margin-bottom: 1.5rem;
}

.ib-blog__top .ib-breadcrumb {
    margin-bottom: 0;
}

.ib-blog__top .ib-breadcrumb+.ib-blog__head {
    margin-top: 0.85rem;
}

.ib-blog__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
}

.ib-blog__head h1 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.ib-blog__search {
    width: min(280px, 100%);
    flex-shrink: 0;
}

.ib-blog__search input {
    width: 100%;
    height: 44px;
    padding-inline: 0.85rem 2.6rem;
    border: 1px solid var(--ink);
    background: #fff;
    color: var(--ink);
}

.ib-blog__search input:focus {
    outline: 0;
    border-color: var(--ink);
}

.ib-blog__main {
    min-width: 0;
}

.ib-blog+.vr-adv {
    margin-top: 2.5rem;
}

.ib-posts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ib-post {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--ink);
    background: #fffdf8;
}

.ib-post__media,
.ib-post__media:hover {
    display: block;
    background: var(--paper-2);
    border-bottom: 1px solid var(--ink);
    color: inherit;
    text-decoration: none;
}

.ib-post__media img {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.ib-post__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0.95rem 1rem 1.05rem;
}

.ib-post__cat,
.ib-post__cat:hover {
    width: fit-content;
    margin-bottom: 0.4rem;
    color: var(--muted);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
}

.ib-post__cat:hover {
    color: var(--ink);
}

.ib-post__title {
    margin: 0 0 0.45rem;
    font-family: var(--display);
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.ib-post__title a,
.ib-post__title a:hover {
    color: inherit;
    text-decoration: none;
}

.ib-post__body>p {
    margin: 0 0 0.9rem;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.ib-post__by {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--paper-2);
    color: var(--muted);
    font-size: 0.8rem;
}

.ib-post__by img {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border: 0;
    border-radius: 50%;
    flex-shrink: 0;
}

.ib-post__by span {
    color: var(--ink);
}

.ib-post__by time::before {
    content: "·";
    margin-inline-end: 0.5rem;
}

.ib-article-page {
    width: min(760px, 100%);
    margin: 0 auto;
}

.ib-article-page .ib-breadcrumb {
    margin-bottom: 1.15rem;
}

.ib-article__head {
    margin-bottom: 1.15rem;
}

.ib-article h1 {
    margin: 0.15rem 0 0.85rem;
    font-size: clamp(1.85rem, 3vw, 2.55rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.ib-article__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 0.55rem;
    color: var(--muted);
    font-size: 0.9rem;
}

.ib-article__meta img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border: 0;
    border-radius: 50%;
}

.ib-article__meta span {
    color: var(--ink);
}

.ib-article__meta time::before {
    content: "·";
    margin-inline-end: 0.55rem;
}

.ib-article__hero {
    margin: 0 0 1.5rem;
    border: 1px solid var(--ink);
    background: var(--paper-2);
}

.ib-article__hero img {
    display: block;
    width: 100%;
    max-height: 460px;
    object-fit: cover;
}

.ib-prose,
.ck-html {
    color: var(--ink);
    font-size: 1.02rem;
    line-height: 1.7;
}

.ib-prose>*:first-child,
.ck-html>*:first-child {
    margin-top: 0;
}

.ib-prose p,
.ck-html p {
    margin: 0 0 1rem;
}

.ib-prose p:last-child,
.ck-html p:last-child,
.ib-prose li>p:last-child,
.ck-html li>p:last-child,
.ib-prose blockquote p:last-child,
.ck-html blockquote p:last-child,
.ib-prose td p:last-child,
.ck-html td p:last-child {
    margin-bottom: 0;
}

.ib-prose h2,
.ib-prose h3,
.ib-prose h4,
.ck-html h2,
.ck-html h3,
.ck-html h4 {
    margin: 1.6rem 0 0.55rem;
    line-height: 1.25;
}

.ib-prose h2,
.ck-html h2 {
    font-size: 1.45rem;
}

.ib-prose h3,
.ck-html h3 {
    font-size: 1.2rem;
}

.ib-prose a,
.ck-html a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ib-prose ul,
.ib-prose ol,
.ck-html ul,
.ck-html ol {
    margin: 0 0 1rem;
    padding-inline-start: 1.25rem;
}

.ib-prose li+li,
.ck-html li+li {
    margin-top: 0.3rem;
}

.ib-prose blockquote,
.ck-html blockquote {
    margin: 1.15rem 0;
    padding: 0.15rem 0 0.15rem 1rem;
    border-inline-start: 2px solid var(--ink);
    color: var(--muted);
}

.ib-prose img,
.ck-html img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1rem 0;
    border: 1px solid var(--ink);
}

.ib-prose pre,
.ib-prose code,
.ck-html pre,
.ck-html code {
    font-size: 0.88em;
    background: var(--paper-2);
}

.ib-prose pre,
.ck-html pre {
    padding: 0.9rem 1rem;
    overflow: auto;
}

.ib-prose code,
.ck-html code {
    padding: 0.1em 0.3em;
}

.ib-prose pre code,
.ck-html pre code {
    padding: 0;
    background: transparent;
}

.ib-prose>*:last-child,
.ck-html>*:last-child {
    margin-bottom: 0;
}

.ib-article__share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: 1.75rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--ink);
}

.ib-article__share>span {
    font-family: var(--display);
    font-size: 1rem;
    font-weight: 600;
}

.ib-comments {
    margin-top: 1.15rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--ink);
}

.ib-comments h2 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.35rem;
    font-family: var(--display);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.ib-comments h2 .bi {
    font-size: 1.15rem;
    line-height: 1;
}

.ib-comments h2 em {
    color: var(--muted);
    font-style: normal;
    font-weight: 500;
    font-size: 1rem;
}

.ib-comments__empty {
    margin: 0.85rem 0 0;
    color: var(--muted);
}

.ib-comment {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 0.8rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--paper-2);
}

.ib-comment img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border: 0;
    border-radius: 50%;
}

.ib-comment header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.45rem;
    margin-bottom: 0.3rem;
}

.ib-comment strong {
    font-size: 0.95rem;
    line-height: 1.2;
}

.ib-comment time {
    color: var(--muted);
    font-size: 0.8rem;
}

.ib-comment time::before {
    content: "·";
    margin-inline-end: 0.45rem;
}

.ib-comment p {
    margin: 0;
    line-height: 1.55;
}

.ib-comment-box {
    margin-top: 1.25rem;
}

.ib-comment-box h3 {
    margin: 0 0 0.7rem;
    font-family: var(--font);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0;
}

.ib-comment-box textarea.form-control {
    min-height: 120px;
    height: auto;
    padding-top: 0.75rem;
    background: #fff;
    resize: vertical;
}

.ib-comment-box .btn {
    margin-top: 0.85rem;
    min-height: 44px;
    min-width: 140px;
}

.ib-comment-box>p {
    margin: 0;
    color: var(--muted);
}

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

@media (max-width: 700px) {
    .ib-blog__head {
        flex-direction: column;
        align-items: stretch;
    }

    .ib-blog__search {
        width: 100%;
    }

    .ib-posts {
        grid-template-columns: 1fr;
    }

    .ib-post__media img {
        height: 210px;
    }

    .ib-article__hero img {
        max-height: none;
    }
}

.filemanager-file-icon {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--paper-2);
    margin: 0.5rem 0;
}

.filemanager-file-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fileviewer,
.ib-fileviewer {
    display: grid;
    grid-template-columns: 1.3fr 0.8fr;
    gap: 1rem;
}

.fileviewer-file img,
.responsive-image {
    width: 100%;
    border: 1px solid var(--ink);
}

.ib-file {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.75fr);
    gap: 1.5rem;
    align-items: start;
}

.ib-file__preview {
    min-width: 0;
}

.ib-file__frame {
    margin: 0;
    background: #fffdf8;
    border: 1px solid var(--ink);
    padding: 0.75rem;
}

.ib-file__frame img {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(72vh, 820px);
    object-fit: contain;
    background: var(--paper-2);
}

.ib-file__aside {
    position: sticky;
    top: 1rem;
}

.ib-file__card {
    background: #fffdf8;
    border: 1px solid var(--ink);
    padding: 1.25rem 1.2rem 1.35rem;
}

.ib-file__title {
    margin: 0 0 1rem;
    font-size: 1.45rem;
    line-height: 1.25;
    word-break: break-word;
}

.ib-file__title:has(+ .ib-file__desc) {
    margin-bottom: 0.45rem;
}

.ib-file__desc {
    margin: 0 0 1rem;
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.ib-file__user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.1rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--paper-2);
}

.ib-file__avatar {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border: 1px solid var(--ink);
    flex-shrink: 0;
}

.ib-file__user strong {
    display: block;
    font-size: 0.95rem;
    line-height: 1.2;
}

.ib-file__user span {
    display: block;
    margin-top: 0.2rem;
    color: var(--muted);
    font-size: 0.82rem;
}

.ib-file__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 1.15rem;
}

.ib-file__actions .btn {
    height: 42px;
    padding: 0 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.ib-file__share {
    margin-top: 0;
}

.ib-file__social {
    margin-bottom: 0.15rem;
}

.ib-file__social .form-label {
    margin-bottom: 0.45rem;
}

.ib-file__social .share {
    margin-bottom: 0.35rem;
}

.ib-file__private {
    margin: 0;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.ib-file__private a {
    display: inline-block;
    margin-top: 0.35rem;
    color: var(--ink);
    text-decoration: none;
    box-shadow: inset 0 -1px 0 var(--ink);
}

.ib-file__blog {
    margin-top: 2.5rem;
    width: 100%;
}

.ib-file .dz-share textarea.form-control {
    min-height: 96px;
    height: auto;
    resize: vertical;
    font-size: 0.82rem;
    line-height: 1.4;
}

.modal-content {
    background: #fffdf8;
    border: 1px solid var(--ink);
    border-radius: 0;
    box-shadow: none;
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid var(--ink);
}

.modal-title {
    margin: 0;
    font-family: var(--display);
    font-size: 1.35rem;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.ib-modal-close {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: inline-grid;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
}

.ib-modal-close svg {
    width: 12px;
    height: 12px;
    display: block;
}

.ib-modal-close:hover {
    opacity: 0.75;
}

.modal-body {
    padding: 1.25rem;
}

.modal-body .form-label {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
}

.modal-body .form-control,
.modal-body .form-select {
    height: 44px;
    background-color: #fff;
    border-color: var(--ink);
    border-radius: 0;
    box-shadow: none;
}

.modal-body .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23161513' stroke-linecap='square' stroke-linejoin='miter' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 14px 10px;
}

[dir="rtl"] .modal-body .form-select {
    background-position: left 0.75rem center;
    padding-right: 0.75rem;
    padding-left: 2.4rem;
}

.modal-body textarea.form-control {
    height: auto;
    min-height: 120px;
    padding-top: 0.7rem;
    resize: vertical;
}

.modal-body .form-control:focus,
.modal-body .form-select:focus {
    border-color: var(--ink);
    box-shadow: none;
}

.modal-footer {
    display: flex;
    gap: 0.65rem;
    padding: 1rem 1.25rem 1.2rem;
    border-top: 1px solid var(--ink);
}

.modal-footer .btn {
    min-height: 44px;
    min-width: 120px;
    margin: 0;
}

@media (max-width: 900px) {
    .ib-file {
        grid-template-columns: 1fr;
        gap: 1.15rem;
    }

    .ib-file__aside {
        position: static;
    }

    .ib-file__frame {
        padding: 0.55rem;
    }

    .ib-file__frame img {
        max-height: none;
    }
}

.input-password {
    position: relative;
}

.input-password button {
    position: absolute;
    inset-inline-end: 0;
    top: 0;
    height: 100%;
    width: 42px;
    border: 0;
    background: transparent;
}

.space-progress {
    height: 6px;
    background: var(--paper-2);
}

.space-progress-inner {
    height: 100%;
    background: var(--ink);
}

.dash-chart {
    height: 340px;
}

@media (max-width: 800px) {
    .desk-stat-grid {
        grid-template-columns: 1fr;
    }

    .desk-stat__value {
        font-size: 2.1rem;
    }
}

.ib-auth__shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.ib-auth__body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(1120px, calc(100% - 2.5rem));
    margin: 0 auto;
    padding: 2.5rem 0 3rem;
}

.ib-auth .sheet-card,
.ib-auth .sign-form {
    width: min(420px, 100%);
    margin: 0;
    padding: 2rem 1.75rem 1.75rem;
}

.ib-auth .sign-form-lg {
    width: min(640px, 100%);
}

.ib-auth .sheet-card {
    margin-top: 0;
}

.ib-auth .desk-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 1rem;
}

.ib-auth .desk-tools .form-label {
    margin-bottom: 0.5rem;
}

.ib-auth .desk-tools a {
    margin-top: 0.8rem;
    margin-bottom: 0.5rem;
    white-space: nowrap;
}

.ib-auth .input-password {
    margin-bottom: 1rem;
}

.ib-auth .form-check {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 1.15rem;
    padding: 0;
    min-height: 0;
}

.ib-auth .form-check-input {
    float: none;
    margin: 0;
}

.ib-auth .sheet-card h1,
.ib-auth .sign-form-title {
    margin: 0 0 0.35rem;
    font-size: 2.15rem;
}

.ib-auth .sheet-card>p,
.ib-auth .sign-form-text {
    margin: 0 0 1.25rem;
    color: var(--muted);
}

.ib-auth .form-control {
    height: 48px;
    background: #fff;
}

.ib-auth textarea.form-control {
    height: auto;
}

.ib-auth .btn-lg {
    height: 48px;
}

.ib-auth .login-with {
    display: block;
    width: 100%;
    margin-top: 1.15rem;
}

.ib-auth .login-with-divider {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    margin: 0 0 1.15rem;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1;
}

.ib-auth .login-with-divider::before,
.ib-auth .login-with-divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--ink);
    opacity: 0.25;
}

.ib-auth .login-with-divider span {
    flex: 0 0 auto;
}

.ib-auth .btn-facebook {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 1rem;
    background: #fff;
    color: var(--ink);
    border: 1px solid var(--ink);
    text-decoration: none;
    box-sizing: border-box;
}

.ib-auth .btn-facebook:hover,
.ib-auth .btn-facebook:focus,
.ib-auth .btn-facebook:active {
    background: var(--paper-2);
    color: var(--ink);
    border-color: var(--ink);
    opacity: 1;
}

.ib-auth .btn-facebook .fab {
    line-height: 1;
}

.sign-form {
    width: min(460px, 100%);
    margin: 2rem auto;
}

.sheet-notice {
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    z-index: 90;
    width: min(340px, calc(100% - 2rem));
    background: var(--paper);
    color: var(--ink);
    border: 1px solid var(--ink);
    padding: 1.15rem 1.15rem 1.2rem;
    text-align: center;
    transform: translateY(140%);
}

.sheet-notice.show {
    transform: none;
}

.sheet-notice__mark svg {
    width: 56px;
    height: 56px;
    display: block;
    margin: 0 auto 0.35rem;
}

.sheet-notice__actions {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.sheet-notice .btn,
.modal .btn,
#load-modal .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.modal-footer,
.modal .btn {
    visibility: visible;
}

/* Announcement popup */
#load-modal .modal-dialog {
    width: min(560px, calc(100% - 2rem));
    margin: 1rem auto;
}

#load-modal .sheet-announce {
    background: var(--paper);
    border: 1px solid var(--ink);
    border-radius: 0;
    box-shadow: none;
    color: var(--ink);
}

#load-modal .sheet-announce__header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border-bottom: 0;
    padding: 0.85rem 0.85rem 0;
}

#load-modal .sheet-announce__body {
    padding: 0.35rem 1.75rem 1.75rem;
    color: var(--ink);
    font-family: var(--font);
    font-size: 0.98rem;
    line-height: 1.55;
}

#load-modal .sheet-announce__body> :first-child {
    margin-top: 0;
}

#load-modal .sheet-announce__body> :last-child {
    margin-bottom: 0;
}

#load-modal .sheet-announce__body h1,
#load-modal .sheet-announce__body h2,
#load-modal .sheet-announce__body h3,
#load-modal .sheet-announce__body h4 {
    font-family: var(--display);
    color: var(--ink) !important;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin: 0 0 0.9rem;
}

#load-modal .sheet-announce__body h1 {
    font-size: clamp(1.6rem, 4vw, 2.1rem);
}

#load-modal .sheet-announce__body h2 {
    font-size: clamp(1.35rem, 3.5vw, 1.8rem);
}

#load-modal .sheet-announce__body p {
    margin: 0 0 0.85rem;
    color: var(--ink) !important;
}

#load-modal .sheet-announce__body a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

#load-modal .sheet-announce__body img {
    max-width: 100%;
    height: auto;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination .page-item {
    margin: 0;
}

.pagination .page-item+.page-item .page-link {
    margin-inline-start: -1px;
}

.pagination .page-link,
.pagination .page-link:hover,
.pagination .page-link:focus,
.pagination .page-link:active {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.85rem;
    margin: 0;
    border: 1px solid var(--ink);
    border-radius: 0;
    background: var(--paper);
    color: var(--ink);
    font-size: 0.9rem;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    outline: 0;
}

.pagination .page-link:hover {
    z-index: 2;
    background: var(--paper-2);
    color: var(--ink);
}

.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus {
    z-index: 3;
    background: var(--ink);
    border-color: var(--ink);
    color: var(--paper);
}

.pagination .page-item.disabled .page-link,
.pagination .page-item.disabled .page-link:hover,
.pagination .page-item.disabled .page-link:focus {
    z-index: 0;
    background: var(--paper);
    border-color: var(--ink);
    color: var(--muted);
    opacity: 0.45;
    pointer-events: none;
}

.form-search {
    position: relative;
    width: min(260px, 100%);
}

.form-search input {
    padding-inline-end: 2.4rem;
    height: 40px;
}

.form-search button,
.form-search .icon {
    position: absolute;
    inset-inline-end: 0;
    top: 0;
    height: 100%;
    width: 40px;
    border: 0;
    background: transparent;
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.textarea-btn,
.form-button {
    display: grid;
    gap: 0.4rem;
}

.social-btn,
.social-btn:hover,
.social-btn:focus,
.social-btn:active {
    width: 40px;
    height: 40px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    text-decoration: none;
    line-height: 1;
}

.social-btn .bi {
    font-size: 1.05rem;
    line-height: 1;
}

.social-btn svg {
    width: 14px;
    height: 14px;
    display: block;
}

.share {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

@media (max-width: 800px) {

    .sheet-rows li,
    .sheet-rows>div {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .sheet-posts,
    .fileviewer,
    .ib-fileviewer,
    .dropzone {
        grid-template-columns: 1fr;
    }

    .sheet-title {
        max-width: none;
    }

    .sheet-posts {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .sheet-posts {
        grid-template-columns: 1fr;
    }

    .ib-file__actions .btn {
        flex: 1 1 auto;
    }
}

/* Paper Vironeer Toastr */
.vironeer-toasts {
    width: min(360px, calc(100vw - 1.5rem));
    padding: 0.85rem;
    font-family: var(--font);
}

.vironeer-toast {
    width: 100%;
    margin-bottom: 0.65rem;
    border: 1px solid var(--ink);
    border-radius: 0;
    background: #fffdf8;
    color: var(--ink);
    box-shadow: none;
    overflow: hidden;
}

.vironeer-toast-content {
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 2.4rem 0.95rem 0.95rem;
    color: var(--ink);
}

.vironeer-toast-auto-close .vironeer-toast-content {
    padding-bottom: 1.15rem;
}

.vironeer-toast-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-inline-end: 0;
    border: 1px solid var(--ink);
    border-radius: 0;
    background-color: transparent;
    background-size: 14px 14px;
    background-position: center;
    background-repeat: no-repeat;
}

.vironeer-toast-context {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.vironeer-toast-title {
    margin: 0;
    font-family: var(--display);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--ink);
}

.vironeer-toast-text {
    margin: 0;
    color: var(--ink);
    font-size: 0.92rem;
    line-height: 1.35;
}

.vironeer-toast-title+.vironeer-toast-text {
    margin-top: 0.2rem;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.vironeer-toast-close {
    top: 0.7rem;
    inset-inline-end: 0.55rem;
    width: 24px;
    height: 24px;
    opacity: 1;
    background-size: 12px 12px;
}

.vironeer-toast-close:hover {
    opacity: 0.7;
}

.vironeer-toast-close-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3e%3cpath fill='none' stroke='%23161513' stroke-width='1.5' d='M2 2l8 8M10 2L2 10'/%3e%3c/svg%3e");
}

.vironeer-toast-progress {
    height: 2px;
    border-radius: 0;
    background-color: var(--ink);
}

.vironeer-toast-success,
.vironeer-toast-error,
.vironeer-toast-info,
.vironeer-toast-warning {
    background-color: #fffdf8;
    border-color: var(--ink);
    box-shadow: none;
}

.vironeer-toast-success-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23161513' stroke-width='1.75' d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3e%3c/svg%3e");
}

.vironeer-toast-error-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3e%3cpath fill='none' stroke='%23b42318' stroke-width='1.5' d='M2 2l8 8M10 2L2 10'/%3e%3c/svg%3e");
}

.vironeer-toast-info-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%23161513' d='M7 3h2v2H7zm0 4h2v6H7z'/%3e%3c/svg%3e");
}

.vironeer-toast-warning-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239a7b2f' stroke-width='1.75' d='M8 3v7M8 12.5v.5'/%3e%3c/svg%3e");
}

.vironeer-toast-error .vironeer-toast-icon {
    border-color: #b42318;
}

.vironeer-toast-warning .vironeer-toast-icon {
    border-color: #9a7b2f;
}

@media (max-width: 560px) {
    .vironeer-toasts {
        width: calc(100vw - 1rem);
        padding: 0.5rem;
    }
}