/* RH v1.5.3 / v153 — experiência móvel exclusiva do perfil Funcionário.
   O desktop permanece com o layout legado: este arquivo só assume a interface
   em viewport de até 768px e apenas na página Meu RH. */
.rh-employee-mobile-view{display:none;}

@media screen and (max-width:768px){
    body.rh-employee-account.rh-employee-portal-page{
        margin:0 !important;
        min-width:0 !important;
        min-height:100dvh;
        background:#f3f7fb !important;
        color:#18324f;
        overflow-x:hidden;
        -webkit-tap-highlight-color:transparent;
    }
    body.rh-employee-account.rh-employee-portal-page .sidebar,
    body.rh-employee-account.rh-employee-portal-page .sidebar-hotspot,
    body.rh-employee-account.rh-employee-portal-page .topbar-simple,
    body.rh-employee-account.rh-employee-portal-page .page-footer,
    body.rh-employee-account.rh-employee-portal-page .print-header{
        display:none !important;
    }
    body.rh-employee-account.rh-employee-portal-page .main-shell{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
    }
    body.rh-employee-account.rh-employee-portal-page .main-shell > .container{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
    }
    body.rh-employee-account.rh-employee-portal-page .rh-employee-mobile-view{display:block;}
    body.rh-employee-account.rh-employee-portal-page .rh-employee-desktop-only{display:none !important;}
    body.rh-employee-account.rh-employee-portal-page .main-shell > .container > .alert[data-aviso-sistema]{
        margin:10px 14px 0 !important;
        border-radius:14px !important;
        font-size:13px !important;
        line-height:1.4;
    }

    .rh-mobile-app-header{
        position:sticky;
        top:0;
        z-index:80;
        min-height:70px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;
        background:rgba(255,255,255,.96);
        border-bottom:1px solid #dce8ef;
        box-shadow:0 8px 24px rgba(18,54,111,.07);
        backdrop-filter:blur(12px);
    }
    .rh-mobile-brand{
        min-width:0;
        display:flex;
        align-items:center;
        gap:10px;
        color:#12366f;
        text-decoration:none;
    }
    .rh-mobile-brand img{width:40px;height:40px;object-fit:contain;flex:0 0 auto;}
    .rh-mobile-brand span{display:flex;flex-direction:column;min-width:0;line-height:1.12;}
    .rh-mobile-brand strong{font-size:17px;font-weight:800;letter-spacing:-.01em;}
    .rh-mobile-brand small{margin-top:3px;color:#6a7f94;font-size:11px;font-weight:600;}
    .rh-mobile-logout-form{margin:0;}
    .rh-mobile-icon-button{
        width:44px;height:44px;min-width:44px;
        display:grid;place-items:center;
        border:1px solid #d6e4ed;border-radius:14px;
        background:#f7fafc;color:#12366f;
        font-size:19px;cursor:pointer;
    }
    .rh-mobile-icon-button:active{transform:scale(.97);background:#edf5f8;}

    .rh-mobile-app-main{
        box-sizing:border-box;
        width:100%;
        max-width:620px;
        margin:0 auto;
        padding:16px 14px calc(96px + env(safe-area-inset-bottom,0px));
    }
    .rh-mobile-profile-card{
        display:flex;align-items:center;gap:13px;
        margin-bottom:14px;padding:15px;
        background:linear-gradient(135deg,#12366f 0%,#176c79 100%);
        color:#fff;border-radius:22px;
        box-shadow:0 12px 28px rgba(18,54,111,.18);
        text-decoration:none;
    }
    .rh-mobile-profile-card:active{transform:scale(.992);}
    .rh-mobile-profile-card.is-profile-open{box-shadow:0 12px 28px rgba(18,54,111,.18),inset 0 0 0 1px rgba(255,255,255,.2);}
    .rh-mobile-avatar{
        width:52px;height:52px;min-width:52px;display:grid;place-items:center;
        border-radius:17px;background:rgba(255,255,255,.15);font-size:29px;
    }
    .rh-mobile-profile-copy{min-width:0;flex:1 1 auto;}
    .rh-mobile-profile-open{width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.10);color:#e9f8f8;font-size:13px;}
    .rh-mobile-profile-copy .rh-mobile-kicker{display:block;color:#cdeff0;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin-bottom:3px;}
    .rh-mobile-profile-copy h1{margin:0;color:#fff !important;font-size:18px !important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .rh-mobile-profile-copy p{margin:5px 0 0;font-size:12px;line-height:1.35;color:#fff;}
    .rh-mobile-profile-copy small{display:block;margin-top:3px;color:#dcecef;font-size:11px;line-height:1.3;}

    .rh-mobile-welcome{margin:18px 2px 14px;}
    .rh-mobile-welcome span{color:#178187;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;}
    .rh-mobile-welcome h2{margin:4px 0 4px !important;color:#12366f !important;font-size:22px !important;line-height:1.2;letter-spacing:-.02em;}
    .rh-mobile-welcome p{margin:0;color:#657c91;font-size:13px;line-height:1.45;}

    .rh-mobile-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;}
    .rh-mobile-balance-card{
        min-width:0;min-height:132px;display:flex;flex-direction:column;
        padding:14px;background:#fff;border:1px solid #dce8ef;border-radius:19px;
        box-shadow:0 8px 22px rgba(18,54,111,.06);text-decoration:none;color:#18324f;
    }
    .rh-mobile-balance-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#e9f7f6;color:#177c82;font-size:16px;margin-bottom:12px;}
    .rh-mobile-balance-card small{color:#6c8194;font-size:11px;font-weight:700;line-height:1.2;min-height:26px;}
    .rh-mobile-balance-card strong{margin-top:3px;color:#12366f;font-size:23px;line-height:1;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .rh-mobile-balance-card em{margin-top:4px;color:#6f8294;font-size:11px;font-style:normal;}

    .rh-mobile-section{margin-top:16px;}
    .rh-mobile-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:0 2px 9px;}
    .rh-mobile-section-title span{display:block;color:#178187;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;}
    .rh-mobile-section-title h2{margin:2px 0 0 !important;color:#12366f !important;font-size:17px !important;line-height:1.25;}
    .rh-mobile-action-list{overflow:hidden;background:#fff;border:1px solid #dce8ef;border-radius:20px;box-shadow:0 8px 24px rgba(18,54,111,.05);}
    .rh-mobile-action-list > a{min-height:70px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:11px 14px;color:#18324f;text-decoration:none;border-bottom:1px solid #edf2f5;}
    .rh-mobile-action-list > a:last-child{border-bottom:0;}
    .rh-mobile-action-list > a:active{background:#f4f9fa;}
    .rh-mobile-action-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#edf8f7;color:#167d82;font-size:17px;}
    .rh-mobile-action-list > a > span:nth-child(2){min-width:0;display:flex;flex-direction:column;}
    .rh-mobile-action-list strong{color:#12366f;font-size:14px;line-height:1.2;}
    .rh-mobile-action-list small{margin-top:3px;color:#718497;font-size:11px;line-height:1.3;}
    .rh-mobile-action-list > a > .bi-chevron-right{color:#9aabba;font-size:13px;}

    .rh-mobile-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .rh-mobile-report-grid a{min-height:132px;display:flex;flex-direction:column;justify-content:flex-end;padding:15px;border-radius:19px;background:#fff;border:1px solid #dce8ef;color:#12366f;text-decoration:none;box-shadow:0 8px 22px rgba(18,54,111,.05);}
    .rh-mobile-report-grid i{width:38px;height:38px;display:grid;place-items:center;margin-bottom:auto;border-radius:12px;background:#12366f;color:#fff;font-size:17px;}
    .rh-mobile-report-grid strong{font-size:13px;line-height:1.25;}
    .rh-mobile-report-grid small{margin-top:4px;color:#728597;font-size:10px;line-height:1.3;}

    .rh-mobile-readonly-note{display:flex;gap:10px;align-items:flex-start;margin:18px 0 2px;padding:12px 13px;border-radius:16px;background:#eaf7f5;color:#245b60;font-size:11px;line-height:1.45;}
    .rh-mobile-readonly-note i{font-size:17px;color:#178187;margin-top:1px;}

    .rh-mobile-chip-row{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:none;}
    .rh-mobile-chip-row::-webkit-scrollbar{display:none;}
    .rh-mobile-chip{min-width:150px;display:flex;flex-direction:column;padding:10px 12px;border:1px solid #dce8ef;border-radius:15px;background:#fff;color:#455d72;text-decoration:none;}
    .rh-mobile-chip strong{color:#12366f;font-size:12px;}
    .rh-mobile-chip span{margin-top:2px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .rh-mobile-chip.is-active{border-color:#62aaa9;background:#eaf7f5;box-shadow:inset 0 0 0 1px #8dc5c2;}

    .rh-mobile-page-head{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:14px;padding:4px 2px 12px;}
    .rh-mobile-back{grid-column:1/-1;width:max-content;display:inline-flex;align-items:center;gap:3px;margin-bottom:2px;color:#557086;text-decoration:none;font-size:12px;font-weight:750;}
    .rh-mobile-page-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#12366f,#177f86);color:#fff;font-size:22px;box-shadow:0 9px 20px rgba(18,54,111,.15);}
    .rh-mobile-page-head > div:last-child{min-width:0;}
    .rh-mobile-page-head > div:last-child > span{color:#178187;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;}
    .rh-mobile-page-head h2{margin:1px 0 2px !important;color:#12366f !important;font-size:23px !important;line-height:1.1;}
    .rh-mobile-page-head p{margin:0;color:#647b90;font-size:12px;line-height:1.35;}


    .rh-mobile-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
    .rh-mobile-data-grid > div{min-width:0;padding:12px 13px;border:1px solid #dce8ef;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(18,54,111,.035);}
    .rh-mobile-data-grid > div.wide{grid-column:1/-1;}
    .rh-mobile-data-grid span{display:block;margin-bottom:4px;color:#7a8d9e;font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;}
    .rh-mobile-data-grid strong{display:block;color:#183a5b;font-size:12px;line-height:1.4;overflow-wrap:anywhere;}
    .rh-mobile-account-card{padding:14px;border:1px solid #dce8ef;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(18,54,111,.04);}
    .rh-mobile-account-card dl{display:grid;gap:12px;margin:0;}
    .rh-mobile-account-card dl > div{min-width:0;}
    .rh-mobile-account-card dt{margin:0 0 3px;color:#7a8d9e;font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;}
    .rh-mobile-account-card dd{margin:0;color:#183a5b;font-size:12px;font-weight:750;line-height:1.4;overflow-wrap:anywhere;}
    .rh-mobile-password-card{display:grid;gap:12px;padding:15px;border:1px solid #dce8ef;border-radius:20px;background:#fff;box-shadow:0 7px 20px rgba(18,54,111,.045);}
    .rh-mobile-password-card > div{min-width:0;}
    .rh-mobile-password-card label{display:block;margin-bottom:5px;color:#38566f;font-size:11px;font-weight:800;}
    .rh-mobile-password-card input[type=password]{box-sizing:border-box;width:100%;height:48px;padding:0 13px;border:1px solid #cfdde7;border-radius:13px;background:#fbfdfe;color:#173955;font-size:16px;outline:none;box-shadow:none;}
    .rh-mobile-password-card input[type=password]:focus{border-color:#4f9fa0;box-shadow:0 0 0 3px rgba(23,129,135,.12);background:#fff;}
    .rh-mobile-password-submit{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:#12366f;color:#fff;font-size:13px;font-weight:800;cursor:pointer;}
    .rh-mobile-password-submit:active{transform:scale(.99);}
    .rh-mobile-password-card > p{margin:0;color:#718497;font-size:10px;line-height:1.45;}
    .rh-mobile-home-label{font-size:10px;font-weight:850;letter-spacing:.01em;}

    .rh-mobile-record-list{display:flex;flex-direction:column;gap:9px;}
    .rh-mobile-record-card{padding:13px;background:#fff;border:1px solid #dce8ef;border-radius:18px;box-shadow:0 6px 18px rgba(18,54,111,.045);}
    .rh-mobile-record-card.is-muted{opacity:.68;background:#f7f8f9;}
    .rh-mobile-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #edf2f5;}
    .rh-mobile-record-top strong{min-width:0;color:#12366f;font-size:13px;line-height:1.3;}
    .rh-mobile-status{flex:0 0 auto;max-width:45%;padding:4px 8px;border-radius:999px;background:#e9f7f1;color:#247250;font-size:9px;font-weight:800;line-height:1.15;text-align:center;}
    .rh-mobile-status.is-cancelled{background:#f4eeee;color:#8b4b4b;}
    .rh-mobile-record-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;}
    .rh-mobile-record-card dl > div{min-width:0;}
    .rh-mobile-record-card dl > div.wide{grid-column:1/-1;}
    .rh-mobile-record-card dt{margin:0 0 2px;color:#8090a0;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
    .rh-mobile-record-card dd{margin:0;color:#334c62;font-size:11px;line-height:1.4;overflow-wrap:anywhere;}
    .rh-mobile-empty{padding:22px 16px;border:1px dashed #cfdce5;border-radius:17px;background:#f8fafb;color:#75899a;text-align:center;font-size:12px;line-height:1.4;}

    .rh-mobile-unavailable{max-width:430px;margin:42px auto 0;padding:26px 18px;text-align:center;background:#fff;border:1px solid #dce8ef;border-radius:22px;box-shadow:0 10px 26px rgba(18,54,111,.06);}
    .rh-mobile-unavailable-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 14px;border-radius:20px;background:#eef5f8;color:#12366f;font-size:25px;}
    .rh-mobile-unavailable h2{margin:0 0 7px !important;color:#12366f !important;font-size:20px !important;}
    .rh-mobile-unavailable p{margin:0;color:#6f8496;font-size:12px;line-height:1.5;}
    .rh-mobile-primary-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;padding:0 16px;border-radius:14px;background:#12366f;color:#fff;text-decoration:none;font-size:12px;font-weight:800;}

    .rh-mobile-bottom-nav{
        position:fixed;z-index:90;left:0;right:0;bottom:0;
        display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
        min-height:67px;padding:6px max(5px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(5px,env(safe-area-inset-left,0px));
        background:rgba(255,255,255,.97);border-top:1px solid #d8e4ec;box-shadow:0 -8px 24px rgba(18,54,111,.09);backdrop-filter:blur(12px);
    }
    .rh-mobile-bottom-nav a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#718396;text-decoration:none;font-size:9px;font-weight:750;line-height:1;text-align:center;border-radius:12px;}
    .rh-mobile-bottom-nav a i{font-size:17px;line-height:1;}
    .rh-mobile-bottom-nav a.is-active{color:#126f77;background:#edf8f7;}

    /* Login em tela móvel: aparência compacta de app sem alterar o desktop. */
    .login-page-v424{
        min-height:100dvh !important;
        padding:0 !important;
        background:#eef4f8 !important;
    }
    .login-page-v424 .login-shell{
        width:100% !important;min-height:100dvh !important;height:auto !important;max-height:none !important;
        margin:0 !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
        background:#fff !important;
    }
    .login-page-v424 .login-panel{
        width:100% !important;min-height:100dvh !important;
        display:flex !important;align-items:center !important;justify-content:center !important;
        padding:calc(24px + env(safe-area-inset-top,0px)) 18px calc(24px + env(safe-area-inset-bottom,0px)) !important;
        background:linear-gradient(180deg,#f9fcfd 0%,#eef6f8 100%) !important;
    }
    .login-page-v424 .login-card{
        width:100% !important;max-width:430px !important;margin:0 auto !important;
        padding:24px 20px 20px !important;border:1px solid #dce8ef !important;border-radius:24px !important;
        background:#fff !important;box-shadow:0 16px 42px rgba(18,54,111,.11) !important;
    }
    .login-page-v424 .login-brand-integrated{justify-content:flex-start !important;}
    .login-page-v424 .input-with-icon{min-height:50px !important;border-radius:14px !important;}
    .login-page-v424 .login-submit-v422{min-height:50px !important;border-radius:14px !important;font-size:15px !important;}
    .login-page-v424 .password-toggle-v422{min-height:48px !important;}
}

@media screen and (max-width:360px){
    .rh-mobile-app-main{padding-left:10px;padding-right:10px;}
    .rh-mobile-app-header{padding-left:12px;padding-right:12px;}
    .rh-mobile-profile-card{padding:13px;border-radius:19px;}
    .rh-mobile-avatar{width:46px;height:46px;min-width:46px;border-radius:14px;font-size:25px;}
    .rh-mobile-profile-copy h1{font-size:16px !important;}
    .rh-mobile-balance-card{min-height:124px;padding:12px;}
    .rh-mobile-balance-card strong{font-size:20px;}
    .rh-mobile-report-grid{grid-template-columns:1fr;}
    .rh-mobile-report-grid a{min-height:100px;}
    .rh-mobile-bottom-nav a{font-size:8px;}
    .rh-mobile-bottom-nav a i{font-size:16px;}
}

@media print{
    .rh-employee-mobile-view{display:none !important;}
}
