.moyo-header {
        font-family:var(--moyo-font-family,"Pretendard",sans-serif); font-size:13px; line-height:1;
        width:100%; height:54px; background:rgba(255,255,255,.96); border-bottom:1px solid #e9eef4;
        display:flex; align-items:center; box-sizing:border-box;
        position:fixed; top:0; left:0; right:0; z-index:1200;
        backdrop-filter:blur(14px);
    }
    .moyo-header > .moyo-header-inner {
        width:100%;
        height:100%;
        padding:0 14px 0 9px;
        margin:0;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:15px;
        box-sizing:border-box;
    }
    .moyo-header.moyo-header-guest {
        border-bottom:1px solid rgba(231,238,246,.92);
        box-shadow:0 8px 22px rgba(24,40,72,.035);
    }
    .moyo-header.moyo-header-guest .moyo-header-inner {
        width:min(1320px, calc(100% - 56px));
        margin:0 auto;
        padding:0;
    }
    .moyo-header.moyo-header-guest .moyo-logo-img {
        height:48px;
        max-width:148px;
    }
    .moyo-header.moyo-header-guest .guest-menu {
        gap:12px;
    }
    .moyo-header.moyo-header-guest .guest-menu a {
        min-height:36px;
        padding:0 15px;
        border-radius:13px;
    }
    .moyo-header > .moyo-header-inner > .moyo-header-left { display:flex; align-items:center; gap:5px; min-width:0; height:100%; }
    .moyo-logo { display:flex; align-items:center; justify-content:center; flex-shrink:0; height:100%; }
    .moyo-logo a { display:inline-flex; align-items:center; justify-content:center; height:100%; text-decoration:none; line-height:1; }
    .moyo-logo-img { display:block; height:39px; width:auto; max-width:130px; object-fit:contain; transform:translateY(-3px); }

    .moyo-logo-text-fallback { display:none; color:#4A90E2; font-size:26px; font-weight:900; }
    .moyo-header-location {
        display:flex; align-items:center; min-width:0; min-height:26px;
        padding-left:11px;
        color:#536174; font-size:12px; font-weight:800; line-height:1;
        overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
        transform:translateY(-1px);
    }
    .moyo-header > .moyo-header-inner > .moyo-main-nav { display:flex; align-items:center; gap:26px; min-width:0; }
    .moyo-header .moyo-main-nav > .nav-menu { display:flex; align-items:center; gap:30px; }

/* All primary header links, buttons and the account summary share this contract. */
.moyo-header .moyo-header-control {
    position:relative; box-sizing:border-box; appearance:none; font-family:var(--moyo-font-family,"Pretendard",sans-serif);
    font-style:normal; font-size:var(--header-control-font-size,13px); font-weight:850; line-height:1;
    display:inline-flex; align-items:center; justify-content:center; gap:var(--header-control-gap,0); white-space:nowrap;
    cursor:pointer; text-decoration:none; background:var(--moyo-action-background,transparent);
    color:var(--moyo-action-color,var(--header-control-color,#344054));
}
.moyo-header .moyo-header-control:focus-visible { outline:2px solid var(--moyo-interaction-color,#3478f6); outline-offset:3px; }
.moyo-header .moyo-header-control > .moyo-nav-icon { flex:none; }

    .moyo-nav-link {
        --header-control-gap:7px;
        min-height:28px; padding:0; border-radius:0; background:transparent;
        --header-control-color:#344054;
        border:1px solid transparent;
        white-space:nowrap;
        transition:background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .moyo-nav-link:hover {
        background:transparent;
        color:var(--moyo-interaction-color,#3478f6);
        border-color:transparent;
    }
    .moyo-nav-link.is-active {
        --moyo-action-color:var(--moyo-interaction-color,#3478f6);
        background:transparent;
        color:var(--moyo-interaction-color,#3478f6);
        border-color:transparent;
        box-shadow:none;
        font-weight:900;
    }
    .moyo-nav-link.is-active:hover {
        background:transparent;
        color:#306fc7;
        border-color:transparent;
    }
    .moyo-nav-link.is-active .moyo-nav-icon {
        transform:none;
        filter:none;
    }
    .moyo-nav-icon {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:22px;
        min-width:22px;
        font-size:20px;
        line-height:1;
        color:#667085;
        transition:transform .18s ease, color .18s ease, filter .18s ease;
    }
    .moyo-nav-icon .moyo-nav-symbol{display:block;width:24px;height:24px;max-width:none;flex:none;}
    .moyo-nav-icon .moyo-nav-symbol--active{display:none;}
    .moyo-nav-link:is(.is-active,:focus-visible,[aria-expanded="true"]) .moyo-nav-symbol--inactive,body:has(#moyoNoteModal:not([hidden])) [data-header-note] .moyo-nav-symbol--inactive,body:has(.moyo-camera,.moyo-photo-library-flow[open]) [data-header-camera] .moyo-nav-symbol--inactive{display:none;}
    .moyo-nav-link:is(.is-active,:focus-visible,[aria-expanded="true"]) .moyo-nav-symbol--active,body:has(#moyoNoteModal:not([hidden])) [data-header-note] .moyo-nav-symbol--active,body:has(.moyo-camera,.moyo-photo-library-flow[open]) [data-header-camera] .moyo-nav-symbol--active{display:block;}
    @media (hover:hover) and (pointer:fine) {
        .moyo-nav-link:hover .moyo-nav-symbol--inactive{display:none;}
        .moyo-nav-link:hover .moyo-nav-symbol--active{display:block;}
    }
    .moyo-header .moyo-nav-icon .fa-calendar-days {font-size:20px;line-height:1;}
    .moyo-header .moyo-nav-icon .fa-folder-open {font-size:18px;}
    .moyo-header .moyo-nav-icon .fa-camera {font-size:19px;}
    .moyo-nav-link:hover .moyo-nav-icon {
        color:var(--moyo-interaction-color,#3478f6);
    }
    .moyo-nav-link.is-active .moyo-nav-icon i {
        display:inline-block;
        background:none;
        -webkit-background-clip:border-box;
        background-clip:border-box;
        -webkit-text-fill-color:currentColor;
        color:var(--moyo-interaction-color,#3478f6);
    }
    .moyo-header .moyo-main-nav > .user-status {
        display:flex; align-items:center; gap:7px; padding-left:12px; border-left:1px solid #e7ecf2;
    }
    .moyo-header-action {
        --header-control-font-size:20px; --header-control-color:#667085;
        position:relative;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:28px;
        height:28px;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        color:#667085;
        font-size:17px;
        line-height:1;
        cursor:pointer;
        transition:background .18s ease, color .18s ease;
    }
    .moyo-header-action:hover,
    .moyo-header-action:focus-visible {
        background:transparent;
        color:var(--moyo-interaction-color,#3478f6);

    }
    .moyo-header-action.is-open {
        --moyo-action-color:var(--moyo-interaction-color,#3478f6);
        background:transparent;
        color:var(--moyo-interaction-color,#3478f6);
    }
    .moyo-header-action-wrap { position:relative; display:inline-flex; align-items:center; }
    .user-link {
        --header-control-gap:8px; min-width:0;
        min-height:32px; padding:0 7px 0 4px; border-radius:999px;
        color:#243041; text-decoration:none; transition:background .18s ease, color .18s ease;
    }
    .user-link:hover { background:#f4f8ff; color:var(--moyo-interaction-color,#3478f6); }
    .moyo-header .user-avatar {
width:29px; height:29px; border-radius:50%; display:flex; align-items:center; justify-content:center;
        overflow:hidden; font-size:14px; font-weight:900; flex-shrink:0;;
    background: transparent;
    color: var(--moyo-person-avatar-color);
    box-shadow: none;
}
    .moyo-header .user-avatar img,
    .moyo-header .user-avatar .user-avatar-image {
        display:block !important;
        width:100% !important;
        height:100% !important;
        min-width:100% !important;
        min-height:100% !important;
        max-width:none !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:50% !important;
        background:transparent !important;
        box-shadow:none !important;
        object-fit:cover !important;
        object-position:center !important;
        transform:none !important;
        filter:none !important;
    }
    .moyo-header .user-avatar .user-avatar-fallback {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:100%;
    }
    .moyo-header .user-avatar-fallback .moyo-default-person-icon {width:90%;height:90%;}
    /* 업로드 프로필은 투명 PNG 자체를 표시하고, 기본 아바타 배경은 사용하지 않는다. */
    .moyo-header .user-avatar.has-profile:not(.no-image) {
        background:none !important;
        background-color:transparent !important;
        box-shadow:none;
    }
    .moyo-header .user-avatar.has-profile.no-image {
;;
    background: transparent;
    color: var(--moyo-person-avatar-color);
    box-shadow: none;
}

    /* 페이지별 CSS가 헤더 프로필 크기/여백/배경을 덮어쓰지 못하도록 공통 규칙을 고정한다. */
    .moyo-header .user-status .user-link .user-avatar {
        width:29px !important;
        height:29px !important;
        min-width:29px !important;
        min-height:29px !important;
        max-width:29px !important;
        max-height:29px !important;
        margin:0 !important;
        padding:0 !important;
        border-radius:50% !important;
        overflow:hidden !important;
        flex:0 0 29px !important;
        box-sizing:border-box !important;
    }
    .moyo-header .user-status .user-link .user-avatar.is-uploaded-profile:not(.no-image) {
        background:transparent !important;
        box-shadow:none !important;
    }
    .moyo-header .user-status .user-link .user-avatar.is-default-profile,
    .moyo-header .user-status .user-link .user-avatar.no-image {
;;
    background: transparent;
    color: var(--moyo-person-avatar-color);
    box-shadow: none;
}

    .moyo-header .user-avatar.has-profile .user-avatar-fallback { display:none; }
    .moyo-header .user-avatar.has-profile.no-image .user-avatar-fallback { display:inline-flex; }
    .user-name { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:900; }
    .logout-link {
        display:inline-flex; align-items:center; justify-content:center;
        min-height:32px; padding:0 4px; color:#9aa4b2; font-size:12px; font-weight:800; text-decoration:none; white-space:nowrap;
    }
    .logout-link:hover { color:#e5484d; }
    .moyo-account-menu { position:relative; }
    .moyo-account-menu > summary { list-style:none; cursor:pointer; }
    .moyo-account-menu > summary::-webkit-details-marker { display:none; }
    .moyo-account-menu > summary .moyo-account-chevron {
        display:inline-flex; align-items:center; justify-content:center;
        width:14px; height:14px; color:#98a2b3; font-size:10px; transition:transform .18s ease;
    }
    .moyo-account-menu[open] > summary .moyo-account-chevron { transform:rotate(180deg); }
    @media (max-width: 480px) {
        .moyo-account-menu > summary .moyo-account-chevron { display: none; }
    }
    .moyo-account-dropdown {
        position:absolute; top:42px; right:0; z-index:1400;
        width:190px; padding:7px; border:1px solid #e4ebf3; border-radius:15px;
        background:rgba(255,255,255,.99); box-shadow:0 16px 36px rgba(31,50,81,.14);
        box-sizing:border-box;
    }
    .moyo-account-dropdown::before {
        content:''; position:absolute; top:-5px; right:24px; width:9px; height:9px;
        background:#fff; border-left:1px solid #e4ebf3; border-top:1px solid #e4ebf3;
        transform:rotate(45deg);
    }
    .moyo-account-dropdown a {
        position:relative; z-index:1; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:10px; min-height:40px;
        padding:0 10px; text-align:left; line-height:20px; border-radius:10px; color:#344054; text-decoration:none;
        font-size:12px; font-weight:600; box-sizing:border-box;
    }
    .moyo-account-dropdown a>i { display:flex; align-items:center; justify-content:center; width:20px; height:20px; font-size:13px; line-height:1; }
    .moyo-account-dropdown a>span { min-width:0; }
    .moyo-account-dropdown a:hover { background:#f5f9ff; color:var(--moyo-interaction-color,#3478f6); }
    .moyo-account-dropdown .moyo-account-admin {
        color:#315fd4; background:linear-gradient(135deg, rgba(86,214,219,.10), rgba(91,124,255,.10));
    }
    .moyo-account-dropdown .moyo-account-admin:hover {
        color:#244fc4; background:linear-gradient(135deg, rgba(86,214,219,.16), rgba(91,124,255,.16));
    }
    .moyo-account-dropdown .moyo-account-divider { height:1px; margin:6px 10px; background:#edf1f6; }
    .moyo-account-dropdown .moyo-account-logout { color:#8b95a5; }
    .moyo-account-dropdown .moyo-account-logout:hover { color:#d7474d; background:#fff6f6; }
    .guest-menu { display:flex; align-items:center; gap:10px; }
    .guest-menu a {
        display:inline-flex; align-items:center; justify-content:center;
        min-height:40px; padding:0 16px; border-radius:12px;
        color:#344054; text-decoration:none; font-weight:800;
        transition:all .18s ease;
    }
    .guest-menu a:hover { background:#f5f9ff; color:var(--moyo-interaction-color,#3478f6); }
    .guest-menu .join-link {
        border:0;
        color:#fff;
        background:var(--moyo-primary-gradient,linear-gradient(135deg,#39CDB5 0%,#4A90E2 54%,#7358E8 100%));
        box-shadow:0 10px 20px rgba(67,104,222,.22);
    }
    .guest-menu .join-link:hover {
        color:#fff;
        background:var(--moyo-primary-gradient,linear-gradient(135deg,#39CDB5 0%,#4A90E2 54%,#7358E8 100%));
        transform:translateY(-1px);
        box-shadow:0 12px 24px rgba(67,104,222,.26);
    }
    .moyo-friend-dropdown {
        display:none;
        position:absolute;
        top:46px;
        right:-8px;
        width:310px;
        max-width:calc(100vw - 24px);
        overflow:hidden;
        border:1px solid #e7edf6;
        border-radius:14px;
        background:#fff;
        box-shadow:0 18px 42px rgba(15,23,42,.15);
        z-index:2200;
        color:#273142;
    }
    .moyo-friend-dropdown.is-open { display:block; }
    .moyo-friend-dropdown::before {
        content:"";
        position:absolute;
        top:-7px;
        right:20px;
        width:14px;
        height:14px;
        background:#fff;
        border-left:1px solid #e7edf6;
        border-top:1px solid #e7edf6;
        transform:rotate(45deg);
    }
    .moyo-friend-head {
        position:relative;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:14px 15px 11px;
        border-bottom:1px solid #edf2f7;
        background:#fff;
    }
    .moyo-friend-title { font-size:14px; font-weight:900; color:#263247; }
    .moyo-friend-count { color:#8a96a8; font-size:11px; font-weight:800; }
    .moyo-friend-list {
        max-height:330px;
        overflow-y:auto;
        padding:7px;
        margin:0;
        list-style:none;
        box-sizing:border-box;
    }
    .moyo-friend-list::-webkit-scrollbar { width:8px; }
    .moyo-friend-list::-webkit-scrollbar-thumb { background:#dbe5f1; border-radius:999px; }
    .moyo-friend-item a {
        display:flex;
        align-items:center;
        gap:10px;
        min-height:52px;
        padding:7px 9px;
        border-radius:10px;
        color:#273142;
        text-decoration:none;
        box-sizing:border-box;
    }
    .moyo-friend-item a:hover { background:#f7fbff; }
    .moyo-friend-avatar {
position:relative;
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
        overflow:hidden;
        border:0;
        border-radius:50%;
        font-size:13px;
        font-weight:900;
        box-sizing:border-box;;
    background: transparent;
    color: var(--moyo-person-avatar-color);
    box-shadow: none;
}
    .moyo-friend-avatar.has-image { background:transparent !important; box-shadow:none; }
    .moyo-friend-avatar img { width:100%; height:100%; object-fit:contain; object-position:center; border-radius:50%; display:block; background:transparent; }
    .moyo-friend-main { min-width:0; flex:1; display:flex; flex-direction:column; justify-content:center; gap:2px; }
    .moyo-friend-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; line-height:1.25; font-weight:900; color:#263247; }
    .moyo-friend-email { display:block; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; line-height:1.25; font-weight:600; color:#98a2b3; }
    .moyo-friend-empty,
    .moyo-friend-loading { padding:28px 16px; text-align:center; color:#98a2b3; font-size:12px; font-weight:700; }
    .moyo-friend-foot { padding:7px; border-top:1px solid #eef3f8; background:#fff; }
    .moyo-friend-foot a {
        display:flex;
        align-items:center;
        justify-content:center;
        height:34px;
        border-radius:10px;
        color:#397be8;
        text-decoration:none;
        font-size:12px;
        font-weight:900;
    }
    .moyo-friend-foot a:hover { background:#eef6ff; color:#286bcb; }
    #alarmBadge {
        display:none; position:absolute; top:5px; right:3px; min-width:14px; height:14px;
        padding:0 4px; border-radius:999px; background:#FF4D4F; color:#fff;
        font-size:9px; font-weight:900; line-height:14px; text-align:center;
        box-shadow:0 0 0 2px #fff; transform:translate(50%, -30%);
        pointer-events:none;
    }
    #alarmDropdown.moyo-alarm-dropdown {
        display:none;
        position:absolute;
        top:42px;
        right:2px;
        width:332px;
        padding:0;
        overflow:hidden;
        border:1px solid #e7edf6;
        border-radius:14px;
        background:#fff;
        box-shadow:0 18px 42px rgba(15,23,42,.15);
        z-index:2200;
        color:#273142;
        cursor:default;
    }
    #alarmDropdown.moyo-alarm-dropdown::before {
        content:"";
        position:absolute;
        top:-7px;
        right:16px;
        width:14px;
        height:14px;
        background:#fff;
        border-left:1px solid #e7edf6;
        border-top:1px solid #e7edf6;
        transform:rotate(45deg);
    }
    .moyo-alarm-head {
        position:relative;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:13px 15px 11px;
        border-bottom:1px solid #eef3f8;
    }
    .moyo-alarm-title {
        font-size:13px;
        font-weight:900;
        color:#172033;
    }
    .moyo-alarm-title-icon { display:none; }
    .moyo-alarm-summary {
        color:#6f7d91;
        font-size:11px;
        font-weight:800;
        white-space:nowrap;
    }
    .moyo-alarm-list {
        list-style:none;
        padding:6px 7px;
        margin:0;
        max-height:340px;
        overflow-y:auto;
    }
    .moyo-alarm-list::-webkit-scrollbar { width:8px; }
    .moyo-alarm-list::-webkit-scrollbar-thumb { background:#dbe5f1; border-radius:999px; }
    .moyo-alarm-empty {
        padding:26px 12px;
        text-align:center;
        color:#8b96a6;
        font-size:13px;
        font-weight:800;
    }
    .moyo-alarm-section-label {
        padding:8px 8px 5px;
        color:#8a96a8;
        font-size:10px;
        font-weight:900;
    }
    .moyo-alarm-request-card {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        padding:9px 9px;
        border:1px solid #e7eef7;
        border-radius:12px;
        background:#fff;
    }
    .moyo-alarm-request-card + .moyo-alarm-request-card { margin-top:6px; }
    .moyo-alarm-request-main { min-width:0; flex:1; }
    .moyo-alarm-request-title {
        display:flex;
        align-items:center;
        gap:6px;
        min-width:0;
        margin-bottom:3px;
        color:#263247;
        font-size:12px;
        font-weight:800;
    }
    .moyo-alarm-request-type {
        flex:0 0 auto;
        display:inline-flex;
        align-items:center;
        height:19px;
        padding:0 6px;
        border-radius:999px;
        background:#f1f6ff;
        color:#4a7fea;
        font-size:10px;
        font-weight:800;
    }
    .moyo-alarm-request-name {
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-weight:800;
    }
    .moyo-alarm-request-desc {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        color:#8a96a8;
        font-size:11px;
        font-weight:600;
    }
    .moyo-alarm-actions {
        display:flex;
        align-items:center;
        gap:5px;
        flex:0 0 auto;
    }
    .moyo-alarm-action-btn {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        height:28px;
        padding:0 10px;
        border-radius:999px;
        border:1px solid #e0e8f2;
        background:#fff;
        color:#66748a;
        font-size:11px;
        font-weight:800;
        cursor:pointer;
    }
    .moyo-alarm-action-btn:hover { background:#f7faff; }
    .moyo-alarm-action-btn.is-primary {
        min-width:52px;
        border:none;
        border-radius:999px;
        box-sizing:border-box;
        overflow:hidden;
        background:var(--moyo-primary-gradient,linear-gradient(135deg,#39CDB5 0%,#4A90E2 54%,#7358E8 100%));
        color:#fff;
        box-shadow:0 4px 10px rgba(77,124,255,.18);
    }
    .moyo-alarm-action-btn.is-primary:hover {
        filter:brightness(.98);
        box-shadow:0 5px 12px rgba(77,124,255,.22);
    }
    .moyo-alarm-action-btn.is-primary:focus {
        outline:none;
    }
    .moyo-alarm-action-btn.is-primary:focus-visible {
        outline:2px solid rgba(87,213,223,.42);
        outline-offset:2px;
    }
    .moyo-alarm-action-btn:disabled { opacity:.55; cursor:default; box-shadow:none; }
    .moyo-alarm-more {
        margin:6px 0 2px;
        padding:0 7px;
    }
    .moyo-alarm-more a {
        display:flex;
        align-items:center;
        justify-content:center;
        height:34px;
        border-radius:10px;
        background:#f7faff;
        color:#397be8;
        text-decoration:none;
        font-size:12px;
        font-weight:900;
    }
    .moyo-alarm-item {
        display:flex;
        align-items:center;
        gap:8px;
        min-height:42px;
        padding:8px 9px;
        border-radius:11px;
        color:#334155;
        cursor:pointer;
    }
    .moyo-alarm-item:hover { background:#f7fbff; }
    .moyo-alarm-item.is-unread { background:#fbfdff; }
    .moyo-alarm-item.is-unread .moyo-alarm-item-title { color:#1f5fbf; }
    .moyo-alarm-time { color:#9aa8b8; font-weight:700; white-space:nowrap; }
    .moyo-alarm-item + .moyo-alarm-item { margin-top:3px; }
    .moyo-alarm-item-icon {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        flex:0 0 27px;
        width:27px;
        height:27px;
        border-radius:10px;
        background:#eef5ff;
        color:#397be8;
        font-size:13px;
    }
    .moyo-alarm-item-main {
        min-width:0;
        flex:1;
        display:flex;
        flex-direction:column;
        gap:2px;
    }
    .moyo-alarm-item-title {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        color:#233044;
        font-size:12px;
        font-weight:900;
        line-height:1.25;
    }
    .moyo-alarm-item-desc {
        color:#6f7d91;
        font-size:11px;
        font-weight:800;
        line-height:1.2;
    }
    .moyo-alarm-foot {
        display:flex;
        align-items:center;
        justify-content:center;
        padding:7px;
        border-top:1px solid #eef3f8;
        background:#fff;
    }
    .moyo-alarm-foot-link {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:100%;
        height:34px;
        border-radius:10px;
        color:#397be8;
        text-decoration:none;
        font-size:12px;
        font-weight:900;
    }
    @media(max-width:1180px) {
        .moyo-header .moyo-main-nav > .nav-menu { gap:30px; }
        .moyo-header > .moyo-header-inner > .moyo-main-nav { gap:26px; }
        .moyo-nav-link { padding:0 8px; }
        .moyo-header .moyo-main-nav > .user-status { gap:7px; padding-left:11px; }
    }
    @media(max-width:980px) {
        .moyo-header-location { display:none; }
        .moyo-header > .moyo-header-inner { padding-right:10px; }
        .moyo-header.moyo-header-guest .moyo-header-inner {
            width:calc(100% - 40px);
            padding:0;
        }
    }
    @media(max-width:720px) {
        .moyo-logo-img { height:40px; max-width:112px; }
        .moyo-nav-link .moyo-nav-label { display:none; }
        .user-name, .logout-link { display:none; }
        .moyo-header .moyo-main-nav > .user-status { padding-left:10px; gap:6px; }
        .moyo-header-action { width:40px; height:44px; }
        .moyo-header.moyo-header-guest .moyo-header-inner { width:calc(100% - 28px); }
        .moyo-header.moyo-header-guest .guest-menu { gap:6px; }
        .moyo-header.moyo-header-guest .guest-menu a {
            min-height:36px;
            padding:0 11px;
            border-radius:11px;
            font-size:13px;
        }
        .moyo-header.moyo-header-guest .moyo-logo-img { height:38px; max-width:102px; }
    }
    @media(max-width:480px) {
        .moyo-header .moyo-app-sidebar-toggle-btn { width:40px; height:44px; flex-shrink:0; padding:8px; border-radius:8px; font-size:20px; }
        .moyo-header:not(.moyo-header-guest) > .moyo-header-inner { padding:0 4px; gap:0; }
        .moyo-header:not(.moyo-header-guest) > .moyo-header-inner > .moyo-header-left { gap:0; }
        .moyo-header:not(.moyo-header-guest) .moyo-logo-img { max-width:clamp(62px,calc(100vw - 248px),112px);transform:translateY(-3px); }
        .moyo-header:not(.moyo-header-guest) > .moyo-header-inner > .moyo-main-nav { flex:0 0 auto;justify-content:flex-start;gap:0; }
        .moyo-header:not(.moyo-header-guest) .moyo-main-nav > .nav-menu { flex:0 0 auto;justify-content:flex-start;gap:0; }
        .moyo-header:not(.moyo-header-guest) .moyo-nav-link { width:40px; min-width:40px; min-height:44px; height:44px; flex:0 0 40px; padding:8px; box-sizing:border-box; }
        .moyo-header:not(.moyo-header-guest) .moyo-nav-link:hover,
        .moyo-header:not(.moyo-header-guest) .moyo-nav-link.is-active { background:transparent; border-color:transparent; box-shadow:none; }
        .moyo-header:not(.moyo-header-guest) .moyo-nav-icon { position:relative; }
        .moyo-header:not(.moyo-header-guest) .moyo-main-nav > .user-status { gap:0;padding-left:0;border-left:0; }
        .moyo-header:not(.moyo-header-guest) .moyo-header-action { width:40px; height:44px; }
        .moyo-header:not(.moyo-header-guest) .moyo-mobile-inbox-toggle { width:40px; height:44px; }
        .moyo-header:not(.moyo-header-guest) .user-link { width:40px;min-width:40px; min-height:44px; justify-content:center; padding:0; gap:0; }
    }

.moyo-alarm-approved-action{
    display:inline-flex;
    align-items:center;
    margin-top:6px;
    color:#2f72e8;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
}
.moyo-alarm-approved-action::after{
    content:' →';
    margin-left:2px;
}
.moyo-alarm-item:hover .moyo-alarm-approved-action{
    text-decoration:underline;
}
/* 승인 알림 문구가 길어도 알림 모달 가로 스크롤이 생기지 않도록 정리 */
#alarmDropdown.moyo-alarm-dropdown{
    width:360px;
    max-width:calc(100vw - 24px);
}
#alarmDropdown .moyo-alarm-list{
    overflow-x:hidden;
}
#alarmDropdown .moyo-alarm-item{
    align-items:flex-start;
}
#alarmDropdown .moyo-alarm-item-main{
    width:0;
    max-width:100%;
    overflow:hidden;
}
#alarmDropdown .moyo-alarm-item-title,
#alarmDropdown .moyo-alarm-item-desc{
    display:block;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
#alarmDropdown .moyo-alarm-approved-action{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
}


.moyo-alarm-approved-actions{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:7px;
    flex-wrap:wrap;
}
.moyo-alarm-abandon-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:0 9px;
    border:1px solid #dbe4ef;
    border-radius:8px;
    background:#fff;
    color:#74839a;
    font:inherit;
    font-size:11px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    box-sizing:border-box;
    transition:border-color .16s ease, background-color .16s ease, color .16s ease;
}
.moyo-alarm-abandon-action:hover{
    border-color:#efb8bf;
    background:#fff7f8;
    color:#dc5360;
    text-decoration:none;
}
.moyo-alarm-abandon-action:focus-visible{
    outline:none;
    border-color:#e99ca6;
    box-shadow:0 0 0 3px rgba(220,83,96,.12);
}
.moyo-alarm-abandon-action:disabled{
    opacity:.55;
    cursor:default;
}


.moyo-alarm-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px 10px;border-bottom:1px solid #edf2f7;background:#fff;}
.moyo-alarm-tab{min-height:34px;border:0;border-radius:10px;background:transparent;color:#718096;font-size:12px;font-weight:800;cursor:pointer;}
.moyo-alarm-tab:hover{background:#f6f9fd;color:var(--moyo-interaction-color,#3478f6);}
.moyo-alarm-tab.is-active{background:#eef6ff;color:var(--moyo-interaction-color,#3478f6);}
.moyo-alarm-tab-count{display:none;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:#ff5b67;color:#fff;font-size:10px;line-height:18px;text-align:center;}
.moyo-alarm-tab-count.has-count{display:inline-block;}

  .moyo-header .moyo-mobile-inbox-toggle { display:inline-flex; position:relative; width:26px; height:26px; border:0; border-radius:0; background:transparent; }
  .moyo-header #moyoChatToggle,.moyo-header #alarmContainer { display:none; }
  .moyo-header .user-status > #moyoChatWrap,
  .moyo-header .user-status > .moyo-header-action-wrap { display:contents; }
  .moyo-header #alarmDropdown.moyo-alarm-dropdown { position:fixed; top:62px; right:clamp(12px,2vw,28px); }
  .moyo-mobile-inbox-tabs { display:flex; gap:6px; padding:10px 12px; border-bottom:1px solid #edf1f6; }
  .moyo-mobile-inbox-tabs button { flex:1; border:0; border-radius:9px; min-height:36px; background:transparent; color:#7b8ba2; font-size:13px; font-weight:700; cursor:pointer; }
  .moyo-mobile-inbox-tabs button.is-active { background:#eef5ff; color:#397be8; }
  .moyo-mobile-inbox-dot { position:absolute; right:5px; top:5px; width:6px; height:6px; border-radius:50%; background:#ff6b7a; }

 @media(min-width:481px) {

  .moyo-header .moyo-main-nav > .user-status { gap:8px; }
 }
