/* 5CKN mobile navigation — one controlled drawer for header + bottom dock. */
.ckn-drawer { display: none; }
@media (max-width: 999px) {
    .ckn-drawer {
        position: fixed;
        inset: 0;
        z-index: 99999;
        display: block;
        visibility: hidden;
        pointer-events: none;
        transition: visibility 0s linear .32s;
        isolation: isolate;
    }
    .ckn-drawer.is-open { visibility: visible; pointer-events: auto; transition-delay: 0s; }
    .ckn-drawer__backdrop {
        position: absolute; inset: 0;
        width: 100%; height: 100%; padding: 0; margin: 0;
        border: 0; border-radius: 0;
        background: rgba(8, 22, 17, .58);
        opacity: 0;
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        transition: opacity .3s ease;
    }
    .ckn-drawer.is-open .ckn-drawer__backdrop { opacity: 1; }
    .ckn-drawer__panel {
        position: absolute; inset-block: 0; right: 0;
        width: min(390px, calc(100% - 26px));
        display: flex; flex-direction: column; overflow: hidden;
        border-radius: 24px 0 0 24px;
        background: #fff;
        color: #26332e;
        box-shadow: -24px 0 70px rgba(0,0,0,.17);
        transform: translateX(105%);
        transition: transform .32s cubic-bezier(.2,.85,.2,1);
        outline: none;
    }
    .ckn-drawer.is-open .ckn-drawer__panel { transform: translateX(0); }
    .ckn-drawer__top {
        flex: none; display: flex; align-items: center; justify-content: space-between;
        padding: calc(19px + env(safe-area-inset-top, 0px)) 22px 17px;
        border-bottom: 1px solid #edf0ed;
    }
    .ckn-drawer__brand { display: flex; align-items: center; gap: 11px; }
    .ckn-drawer__brand-mark {
        width: 42px; height: 42px; display: grid; place-items: center;
        border-radius: 14px; background: #1e7f5c; color: #fff;
        font-size: 21px; font-weight: 850; letter-spacing: -.04em;
        box-shadow: 0 6px 18px rgba(30,127,92,.20);
    }
    .ckn-drawer__brand strong { display: block; color: #173b2c; font-size: 17px; line-height: 1.2; }
    .ckn-drawer__brand small { display: block; color: #77817b; font-size: 9px; letter-spacing: .10em; font-weight: 750; margin-top: 4px; }
    .ckn-drawer__close {
        width: 44px; height: 44px; display: grid; place-items: center;
        padding: 0; border: 1px solid #edf0ed; border-radius: 50%;
        background: #f7f9f8; color: #344940; cursor: pointer;
    }
    .ckn-drawer svg { width: 20px; height: 20px; display: block; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .ckn-drawer__scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 18px 14px; -webkit-overflow-scrolling: touch; }
    .ckn-drawer__account {
        padding: 17px; display: grid; gap: 10px; grid-template-columns: 42px minmax(0,1fr);
        border: 1px solid #dcece3; border-radius: 19px;
        background: linear-gradient(135deg,#f0faf4,#f8fbf9 65%,#fff);
    }
    .ckn-drawer__account-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: #dcefe5; color: #196e4e; }
    .ckn-drawer__account-body { min-width: 0; align-self: center; }
    .ckn-drawer__account-body strong { display:block;color:#16452f;font-size:15px;line-height:1.35; }
    .ckn-drawer__account-body p { margin:4px 0 0;color:#667b70;font-size:12px;line-height:1.45; }
    .ckn-drawer__account-actions { grid-column: 1 / -1; display: grid; gap: 3px; margin-top: 3px; }
    .ckn-drawer__action { display:flex;align-items:center;justify-content:space-between; min-height:44px; padding: 10px 15px; border-radius:12px; background:#1e7f5c; color:#fff !important; font-weight:750;font-size:14px;text-decoration:none; }
    .ckn-drawer__action:hover { background:#17694d;color:#fff; }
    .ckn-drawer__subaction {display:flex;align-items:center;justify-content:center;min-height:40px;color:#1c7252;text-decoration:none;font-weight:700;font-size:13px;}
    .ckn-drawer__logout { color: #61756b; border-top: 1px solid #e2ede5; padding-top: 9px; }
    .ckn-drawer__navigation { margin-top: 26px; }
    .ckn-drawer__navigation h2 { margin:0 12px 10px; font-size:10px;font-weight:850;letter-spacing:.13em;color:#909b94; }
    .ckn-drawer__navigation ul {margin:0;padding:0;list-style:none;display:grid;gap:3px;}
    .ckn-drawer__navigation li {margin:0;}
    .ckn-drawer__nav-link {display:flex;align-items:center;gap:13px;min-height:51px;padding:10px 12px;border-radius:13px;color:#35453d;text-decoration:none;font-size:14px;font-weight:670;line-height:1.2;transition:background .16s,color .16s;}
    .ckn-drawer__nav-link:hover,.ckn-drawer__nav-link:focus-visible {background:#f3f7f5;color:#186b4c;}
    .ckn-drawer__nav-link.is-current { background:#eaf5ee;color:#17754f;font-weight:790; }
    .ckn-drawer__nav-icon {width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f3f6f4;color:#6d8377;flex:none;}
    .ckn-drawer__nav-link.is-current .ckn-drawer__nav-icon {background:#d8ecdf;color:#1e7f5c;}
    .ckn-drawer__nav-icon svg {width:19px;height:19px;}
    .ckn-drawer__chevron {width:14px !important;height:14px !important; margin-left:auto;color:#b3bdb7;}
    .ckn-drawer__foot {flex:none;display:flex;align-items:center;justify-content:center;gap:9px; padding:15px 12px max(17px, env(safe-area-inset-bottom, 0px));border-top:1px solid #eef1ef;color:#87968c;font-size:10px;font-weight:650;}
    .ckn-drawer__dot {width:3px;height:3px;border-radius:50%;background:#a8b9ac;}
    .ckn-drawer :focus-visible {outline:2px solid #1e7f5c;outline-offset:2px;}
}
@media (max-width: 350px) {
    .ckn-drawer__panel {width:calc(100% - 14px);border-radius:18px 0 0 18px;}
    .ckn-drawer__scroll {padding:14px 13px 10px;}
    .ckn-drawer__top {padding-inline:17px;}
    .ckn-drawer__nav-link {min-height:47px;}
}
@media (prefers-reduced-motion: reduce) {
    .ckn-drawer,.ckn-drawer__backdrop,.ckn-drawer__panel,.ckn-drawer__nav-link {transition:none !important;}
}
