/* Mobile containment pass: keep client pages inside narrow iPhone-like viewports. */
@media (max-width: 980px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .app-shell,
    .app-layout,
    .app-layout-with-sidebar,
    .app-main,
    .app-main.with-sidebar {
        min-width: 0;
        max-width: 100%;
    }

    .app-layout,
    .app-layout-with-sidebar {
        display: block;
        width: 100%;
        padding: 0 clamp(12px, 4vw, 18px) 28px;
    }

    .app-main,
    .app-main.with-sidebar {
        grid-column: 1 / -1;
        width: 100%;
        margin: 0;
        padding: 16px 0 20px;
    }

    .client-sidebar {
        width: 100%;
        max-width: 100%;
        height: calc(100vh - var(--header-height, 0px));
        height: calc(100dvh - var(--header-height, 0px));
        min-height: 420px;
        margin: 0 0 14px;
    }

    .client-sidebar__label,
    .breadcrumb__current,
    .breadcrumb__link {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .app-main * {
        min-width: 0;
    }

    .app-main img,
    .app-main svg,
    .app-main canvas,
    .app-main video,
    .app-main iframe {
        max-width: 100%;
    }

    .app-main table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    .app-main input,
    .app-main select,
    .app-main textarea,
    .app-main button {
        max-width: 100%;
    }

    .app-main h1,
    .app-main h2,
    .app-main h3,
    .app-main p,
    .app-main a,
    .app-main span,
    .app-main strong {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 640px) {
    .app-header {
        gap: 12px;
        padding: 10px 14px;
    }

    .brand {
        min-width: 0;
    }

    .brand-text {
        min-width: 0;
    }

    .nav {
        flex-shrink: 0;
    }

    .nav-link {
        padding: 7px 12px;
        white-space: nowrap;
    }

    .nav-link--home,
    .nav-link--admin {
        display: none;
    }

    .lp-hero {
        padding-top: 8px;
        padding-bottom: 24px;
    }

    .lp-hero-grid {
        gap: 12px;
    }

    .lp-hero-panel {
        padding: 10px;
        border-radius: 18px;
    }

    .lp-hero-badges {
        gap: 7px;
        margin-bottom: 16px;
    }

    .lp-hero-badge {
        padding: 6px 9px;
    }

    .breadcrumb {
        margin: 4px 0 12px;
    }

    .breadcrumb__list {
        gap: 4px 6px;
    }

    .kanslia-minimal {
        padding: 28px 0 40px;
    }

    .kanslia-minimal__container,
    .kanslia-minimal__container--with-archive {
        width: 100%;
        max-width: 100%;
        padding: 0;
        gap: 16px;
    }

    .kanslia-minimal__title {
        margin-bottom: 14px;
        font-size: clamp(28px, 8vw, 34px);
        line-height: 1.12;
        overflow-wrap: anywhere;
    }

    .kanslia-minimal__input-shell,
    .kanslia-minimal__response,
    .kanslia-minimal__message-inner,
    .kanslia-minimal__archive {
        max-width: 100%;
        border-radius: 20px;
    }

    .kanslia-minimal__input {
        min-height: 92px;
        padding: 16px;
        border-radius: 20px;
        font-size: 16px;
    }

    .kanslia-minimal__composer-bar {
        align-items: stretch;
        padding: 0 14px 14px;
    }

    .kanslia-minimal__attach {
        width: 100%;
    }

    .kanslia-minimal__file-name {
        width: 100%;
        overflow-wrap: anywhere;
    }

    .kanslia-widget {
        right: 10px;
        bottom: 10px;
        max-width: calc(100vw - 20px);
    }

    .kanslia-widget__panel {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        height: min(720px, calc(100vh - 112px));
        max-height: calc(100vh - 112px);
        height: min(720px, calc(100dvh - 112px));
        max-height: calc(100dvh - 112px);
        border-radius: 18px;
    }

    .kanslia-widget__header,
    .kanslia-widget__messages,
    .kanslia-widget__composer {
        padding-left: 14px;
        padding-right: 14px;
    }

    .kanslia-widget__input-row,
    .kanslia-widget__toolbar,
    .kanslia-widget__draft-head {
        flex-wrap: wrap;
    }

    .kanslia-widget__send,
    .kanslia-widget__secondary-btn {
        min-width: 0;
        white-space: normal;
    }
}

@media (max-width: 420px) {
    .app-layout,
    .app-layout-with-sidebar {
        padding-left: 0;
        padding-right: 0;
    }

    .app-header {
        padding-left: 10px;
        padding-right: 10px;
    }

    .client-sidebar {
        display: block;
    }

    .client-sidebar__scroll {
        height: 100%;
        padding: 0;
    }

    .client-sidebar__link {
        gap: 10px;
        padding: 10px;
    }

    .client-sidebar__submenu {
        padding-left: 46px;
    }

    .dashboard-overview__focus-card,
    .dashboard-overview__focus-card--fullwidth {
        padding: 16px;
        border-radius: 18px;
    }

    .dashboard-overview__mini-link,
    .dashboard-overview__quick-action,
    .dashboard-overview__action-submit {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .kanslia-minimal__archive-head,
    .kanslia-minimal__archive-item,
    .kanslia-minimal__archive-empty {
        padding-left: 14px;
        padding-right: 14px;
    }

    .app-main{
        padding-top:0;
    }
}
