body.dashboard-page{min-height:100vh;margin:0;color:#eee;background:#202122;font-family:Arial,sans-serif}
body.dashboard-page:before{content:"";position:fixed;z-index:-2;inset:-12px;background:url('/assets/habvice-auth-background.png?v=1') center/cover no-repeat;filter:blur(6px);transform:scale(1.025)}
body.dashboard-page:after{content:"";position:fixed;z-index:-1;inset:0;background:rgba(25,26,27,.75)}
.dashboard-page .sky-effects{display:none!important}
.member-banner{height:138px;background:linear-gradient(rgba(24,25,26,.5),rgba(24,25,26,.68)),url('/assets/habvice-top-banner-v2.png?v=1') center/cover;border-bottom:1px solid #353638}
.member-banner-inner,.member-nav-inner,.member-page,.member-footer>div{width:min(1030px,calc(100% - 40px));margin:auto}
.member-banner-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.member-logo img{display:block;width:190px;height:auto}.member-online{font-size:11px;color:#c5c5c5}.member-online i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#45d071;box-shadow:0 0 8px #45d071}
.member-nav{height:65px;background:rgba(31,32,33,.96);border-bottom:1px solid #2f3032;box-shadow:0 10px 25px #0003}.member-nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.member-links,.member-actions{display:flex;align-items:center;gap:8px}.member-nav a{padding:12px 15px;color:#aaa;text-decoration:none;font-size:11px;font-weight:700;border-radius:3px;transition:.2s}.member-nav a:hover{color:#fff;background:#ffffff0b}.member-actions a{color:#eee;border:1px solid #454648}.member-actions .member-admin{border:0;background:#ef6c25}.member-actions .member-enter{border:0;background:#42bb5d}.member-actions .member-logout{padding-inline:11px}
.member-page{padding:34px 0 70px}.member-profile-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.member-profile-card,.member-status-card,.member-featured-news,.member-quick,.member-admin-panel{border:1px solid #3b3c3e;border-radius:5px;background:rgba(35,36,38,.91);box-shadow:0 12px 30px #0004}
.member-profile-card{position:relative;min-height:190px;display:flex;align-items:center;gap:24px;padding:20px 25px;overflow:hidden;background:linear-gradient(90deg,rgba(27,28,30,.96),rgba(31,32,34,.82)),url('/assets/habvice-top-banner-v2.png?v=1') center/cover}.member-avatar-wrap{align-self:flex-end;width:135px;height:170px;display:flex;align-items:flex-end;justify-content:center}.member-avatar-wrap img{display:block;max-width:145px;max-height:180px;object-fit:contain}.member-profile-copy{min-width:0;flex:1}.member-profile-copy small,.member-status-card small{display:block;color:#8d8f91;font-size:9px;font-weight:700;letter-spacing:.8px}.member-profile-copy h1{margin:3px 0 13px;font-size:27px}.member-profile-copy p{margin:4px 0 16px;color:#ccc;font-size:12px}.member-wallet{display:flex;gap:18px}.member-wallet span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.member-wallet i{width:16px;height:16px;border-radius:50%;background:#f5c62e;box-shadow:inset 0 0 0 3px #aa7415}.member-wallet i.pixel{background:#dc66c8;box-shadow:inset 0 0 0 3px #7e2c70}.member-wallet i.diamond{border-radius:4px;transform:rotate(45deg);background:#62d9ed;box-shadow:inset 0 0 0 3px #28879a}.profile-enter{position:absolute;right:20px;top:20px;padding:9px 13px;border-radius:3px;background:#42bb5d;color:#fff;text-decoration:none;font-size:10px;font-weight:700}
.member-status-card{display:flex;align-items:center;gap:20px;padding:24px}.member-status-card>img{width:95px;height:125px;object-fit:contain}.member-status-card strong,.member-status-card p{display:block;margin:4px 0 14px;font-size:14px}.member-status-card p{margin-bottom:0;color:#ddd}
.member-news{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-top:22px}.member-featured-news{min-height:260px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(0deg,rgba(22,23,24,.98),rgba(22,23,24,.18)),url('/assets/habvice-auth-background.png?v=1') center 72%/cover}.member-featured-news>div{padding:30px}.member-featured-news small{color:#ef6c25;font-weight:800;letter-spacing:1.5px}.member-featured-news h2{margin:8px 0;font-size:24px}.member-featured-news p{color:#bbb;font-size:12px}.member-featured-news a{display:inline-block;margin-top:8px;color:#fff;font-size:11px;font-weight:700}.member-quick{padding:22px}.member-quick h2{margin:0 0 13px;font-size:17px}.member-quick>a{display:grid;grid-template-columns:35px 1fr;grid-template-rows:1fr 1fr;padding:12px 7px;border-top:1px solid #3d3e40;color:#eee;text-decoration:none}.member-quick>a>span{grid-row:1/3;color:#ef6c25;font-size:11px;font-weight:800}.member-quick b{font-size:12px}.member-quick small{color:#888;font-size:9px}.member-admin-panel{margin-top:22px;padding:20px;display:flex;align-items:center;gap:22px}.member-admin-panel>span{padding:10px;background:#ef6c25;font-size:9px;font-weight:800}.member-admin-panel h2{margin:0 0 4px;font-size:16px}.member-admin-panel p{margin:0;color:#999;font-size:10px}.member-admin-panel a{margin-left:auto;padding:10px 15px;background:#3a3b3d;color:#fff;text-decoration:none;font-size:10px;font-weight:700}
.member-footer{border-top:1px solid #393a3c;background:rgba(25,26,27,.94)}.member-footer>div{min-height:105px;display:flex;align-items:center;gap:25px}.member-footer img{width:130px}.member-footer p{color:#777;font-size:10px}.member-footer nav{display:flex;gap:20px;margin-left:auto}.member-footer a{color:#999;text-decoration:none;font-size:10px}
@media(max-width:760px){.member-banner{height:100px}.member-logo img{width:150px}.member-links a:nth-child(n+3){display:none}.member-actions .member-logout{display:none}.member-profile-grid,.member-news{grid-template-columns:1fr}.member-nav a{padding:10px 8px}.member-page{padding-top:20px}.member-profile-card{padding:15px}.member-avatar-wrap{width:90px}.member-status-card{display:none}.member-footer nav{display:none}}

/* Dashboard redesign foundation: keep the existing components for the next steps,
   but expose only the two-tone shell until they are placed again one by one. */
body.dashboard-page{
    --dashboard-sidebar-width:clamp(250px,26.5vw,380px);
    min-height:100vh;
    overflow:hidden;
    background:#171a1b!important;
}
body.dashboard-page:before{
    content:"";
    position:fixed;
    z-index:0;
    inset:10px auto 10px 10px;
    width:var(--dashboard-sidebar-width);
    border-radius:14px 0 0 14px;
    background:linear-gradient(180deg,#25282e 0%,#22252a 100%);
    box-shadow:0 12px 34px rgba(0,0,0,.34);
    filter:none;
    transform:none;
}
body.dashboard-page:after{
    content:"";
    position:fixed;
    z-index:0;
    top:0;
    right:0;
    bottom:0;
    left:calc(10px + var(--dashboard-sidebar-width));
    border-radius:18px 0 0 18px;
    background:linear-gradient(180deg,#383b45 0%,#32353e 100%);
    box-shadow:0 12px 34px rgba(0,0,0,.34);
    transition:left .68s cubic-bezier(.76,0,.24,1),border-radius .5s ease;
}
body.dashboard-page.dashboard-panel-expanded:after{
    left:0;
    border-radius:0;
}
.dashboard-page>.habvice-radio,
.dashboard-page>.member-nav,
.dashboard-page>.member-page,
.dashboard-page>.member-footer,
.dashboard-page>.sky-effects{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.dashboard-page .beta-hotel-notice{
    display:none!important;
}
.dashboard-page>.member-banner{
    position:fixed;
    z-index:2;
    top:38px;
    left:10px;
    width:var(--dashboard-sidebar-width);
    height:80px;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    border:0;
    background:none;
    box-shadow:none;
}
.dashboard-page .member-banner-inner{
    width:100%;
    height:100%;
    margin:0;
    justify-content:center;
}
.dashboard-page .member-logo{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}
.dashboard-page .member-logo img{
    width:258px!important;
    max-width:none;
    height:auto;
    image-rendering:pixelated;
}
.dashboard-page .member-online{
    display:none;
}
.dashboard-page .dashboard-avatar-button{
    position:absolute;
    z-index:3;
    top:110px;
    left:calc(50% - 5px);
    width:86px;
    height:86px;
    overflow:hidden;
    box-sizing:border-box;
    border:3px solid #ef7728;
    border-radius:50%;
    background:transparent;
    box-shadow:0 5px 10px rgba(0,0,0,.34);
    transform:translateX(-50%);
}
.dashboard-page .dashboard-avatar-button:before{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:#30323a;
}
.dashboard-page .dashboard-avatar-button:hover{
    border-color:#ff934b;
    filter:brightness(1.08);
}
.dashboard-page .dashboard-avatar-button img{
    position:absolute;
    z-index:1;
    top:-20px;
    left:50%;
    width:96px;
    height:auto;
    max-width:none;
    transform:translateX(-50%);
    image-rendering:pixelated;
}
.dashboard-page .dashboard-profile-copy{
    position:absolute;
    top:218px;
    left:calc(50% - 5px);
    width:280px;
    transform:translateX(-50%);
    text-align:center;
    line-height:1.15;
}
.dashboard-page .dashboard-profile-copy strong,
.dashboard-page .dashboard-profile-copy span{
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.dashboard-page .dashboard-profile-copy strong{
    color:#f0f0f1;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:17px;
    font-weight:700;
    letter-spacing:-.15px;
}
.dashboard-page .dashboard-profile-copy span{
    margin-top:9px;
    color:#777a81;
    font-family:Verdana,Tahoma,Arial,sans-serif;
    font-size:11px;
    font-weight:400;
    letter-spacing:.05px;
}
.dashboard-page .dashboard-wallet{
    position:absolute;
    top:286px;
    left:calc(50% - 5px);
    width:285px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    transform:translateX(-50%);
}
.dashboard-page .dashboard-wallet-item{
    min-width:0;
    padding:0 8px;
    text-align:center;
}
.dashboard-page .dashboard-wallet-item strong{
    display:block;
    overflow:hidden;
    color:#ececee;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:-.1px;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.dashboard-page .dashboard-wallet-item span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin-top:7px;
    color:#7c7f86;
    font-family:Tahoma,Verdana,Arial,sans-serif;
    font-size:10px;
    font-weight:400;
    white-space:nowrap;
}
.dashboard-page .dashboard-wallet-item img{
    width:11px;
    height:11px;
    flex:0 0 11px;
    image-rendering:pixelated;
}
.dashboard-page .dashboard-sidebar-menu{
    position:absolute;
    top:376px;
    left:22px;
    width:calc(100% - 44px);
    display:flex;
    flex-direction:column;
}
.dashboard-page .dashboard-sidebar-menu a{
    position:relative;
    height:58px;
    display:flex;
    align-items:center;
    gap:19px;
    padding:0 8px;
    color:#c8cbd1;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    white-space:nowrap;
}
.dashboard-page .dashboard-sidebar-menu a:hover{
    color:#fff;
}
.dashboard-page .dashboard-sidebar-menu a.active{
    color:#f1f1f2;
    font-weight:700;
}
.dashboard-page .dashboard-sidebar-menu a.active:after{
    content:"";
    position:absolute;
    top:17px;
    right:-22px;
    width:3px;
    height:24px;
    border-radius:2px 0 0 2px;
    background:#e87528;
}
.dashboard-page .dashboard-sidebar-menu .dashboard-menu-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
    display:block;
    object-fit:contain;
    opacity:.9;
}
.dashboard-page .dashboard-sidebar-menu a:hover .dashboard-menu-icon,
.dashboard-page .dashboard-sidebar-menu a.active .dashboard-menu-icon{
    opacity:1;
}
.dashboard-page .dashboard-sidebar-notch{
    position:fixed;
    z-index:4;
    top:80%;
    left:calc(10px + var(--dashboard-sidebar-width) - 44px);
    width:82px;
    height:122px;
    display:block;
    box-sizing:border-box;
    margin:0;
    padding:0;
    border:0;
    appearance:none;
    background:url('/assets/dashboard-icons/sidebar-notch.svg?v=2') center/100% 100% no-repeat;
    transform:translateY(-50%);
    transition:left .68s cubic-bezier(.76,0,.24,1);
    cursor:pointer;
    pointer-events:auto;
}
.dashboard-page .dashboard-sidebar-notch:focus-visible{
    outline:2px solid rgba(255,255,255,.62);
    outline-offset:-28px;
}
.dashboard-page.dashboard-panel-expanded .dashboard-sidebar-notch{
    left:0;
}
.dashboard-page.dashboard-panel-settled .dashboard-sidebar-notch{
    background-image:url('/assets/dashboard-icons/sidebar-notch-closed.svg?v=3');
}
.dashboard-page .dashboard-sidebar-notch:before{
    content:"";
    position:absolute;
    top:50%;
    left:27px;
    width:7px;
    height:7px;
    border-left:2px solid #9ca1ae;
    border-bottom:2px solid #9ca1ae;
    transform:translateY(-50%) rotate(45deg);
    transition:left .68s cubic-bezier(.76,0,.24,1),transform .68s cubic-bezier(.76,0,.24,1),border-color .18s ease,filter .18s ease;
}
.dashboard-page .dashboard-sidebar-notch:hover:before{
    border-color:#f4f6ff;
    filter:drop-shadow(0 0 3px rgba(244,246,255,.9));
}
.dashboard-page.dashboard-panel-expanded .dashboard-sidebar-notch:before{
    left:7px;
    transform:translateY(-50%) rotate(225deg);
}
.dashboard-page .member-logo,
.dashboard-page .dashboard-avatar-button,
.dashboard-page .dashboard-profile-copy,
.dashboard-page .dashboard-wallet,
.dashboard-page .dashboard-sidebar-menu{
    transition:opacity .38s ease;
}
.dashboard-page.dashboard-panel-expanded .member-logo,
.dashboard-page.dashboard-panel-expanded .dashboard-avatar-button,
.dashboard-page.dashboard-panel-expanded .dashboard-profile-copy,
.dashboard-page.dashboard-panel-expanded .dashboard-wallet,
.dashboard-page.dashboard-panel-expanded .dashboard-sidebar-menu{
    opacity:0;
    pointer-events:none;
}
.dashboard-page .dashboard-enter-hotel{
    position:fixed;
    z-index:3;
    top:28px;
    right:38px;
    min-width:142px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    padding:0 22px;
    border:1px solid #27843e;
    border-radius:4px;
    color:#fff;
    background:#42bb5d;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 3px 0 #246f35,0 7px 14px rgba(0,0,0,.18);
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}
.dashboard-page .dashboard-enter-hotel:hover{
    color:#fff;
    background:#4bc968;
}
.dashboard-page .dashboard-enter-hotel:active{
    top:31px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 0 #246f35,0 4px 9px rgba(0,0,0,.18);
}

@media(max-width:700px){
    body.dashboard-page{
        --dashboard-sidebar-width:92px;
    }
    .dashboard-page>.member-banner{
        height:58px;
        top:20px;
    }
}

