/* Clean responsive UI foundation. */
:root{
    --rx29-bg:#eef4f8;
    --rx29-surface:#ffffff;
    --rx29-surface-soft:#f7fafc;
    --rx29-line:#d8e3ea;
    --rx29-line-strong:#bdceda;
    --rx29-text:#172b3d;
    --rx29-muted:#64798a;
    --rx29-blue:#0b5cad;
    --rx29-blue-dark:#073f7d;
    --rx29-green:#239a4b;
    --rx29-orange:#dd7224;
    --rx29-purple:#7146b9;
    --rx29-shadow:0 18px 50px rgba(31,61,84,.12);
    --rx29-radius:18px;
}

html:has(body.rx-v29),
body.rx-v29{
    width:100%!important;
    max-width:100%!important;
    min-width:320px!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    background:var(--rx29-bg)!important;
    color:var(--rx29-text)!important;
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}

body.rx-v29 *,
body.rx-v29 *::before,
body.rx-v29 *::after{box-sizing:border-box}

body.rx-v29 img{max-width:100%;height:auto}

/* Public login */
body.rx-v29.rx-public .rx-public-shell{
    min-height:100dvh!important;
    padding:0!important;
    overflow:auto!important;
    background:
        radial-gradient(circle at 8% 8%,rgba(45,137,201,.13),transparent 28%),
        radial-gradient(circle at 92% 92%,rgba(44,167,111,.11),transparent 28%),
        linear-gradient(135deg,#edf7fc 0%,#f8fbfd 50%,#eef6fb 100%)!important;
}

.rx29-login-page{
    min-height:100dvh;
    display:grid;
    place-items:center;
    padding:clamp(14px,3vw,42px);
}

.rx29-login-shell{
    width:min(1240px,100%);
    overflow:hidden;
    border:1px solid rgba(183,204,217,.86);
    border-radius:clamp(16px,2vw,28px);
    background:rgba(255,255,255,.94);
    box-shadow:var(--rx29-shadow);
    backdrop-filter:blur(18px);
}

.rx29-login-brand{
    min-height:98px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px clamp(18px,3vw,34px);
    border-bottom:1px solid var(--rx29-line);
    background:linear-gradient(90deg,#fff,#f8fbfd);
}

.rx29-brand-logo{
    display:block;
    width:clamp(250px,34vw,410px);
    min-width:0;
}

.rx29-brand-logo img{
    display:block;
    width:100%;
    max-height:92px;
    object-fit:contain;
    object-position:left center;
}

.rx29-secure-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    padding:9px 12px;
    border:1px solid #bee0c9;
    border-radius:999px;
    background:#f2fbf5;
    color:#267b43;
    font-size:12px;
    font-weight:800;
}
.rx29-secure-label span{font-size:10px;color:#20a04c}

.rx29-login-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
    min-height:620px;
}

.rx29-login-intro{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:26px;
    padding:clamp(28px,4vw,58px);
    background:
        linear-gradient(145deg,rgba(235,247,255,.96),rgba(248,252,255,.94)),
        radial-gradient(circle at 12% 16%,rgba(31,113,185,.14),transparent 34%);
}

.rx29-intro-copy{max-width:720px}
.rx29-eyebrow{
    display:inline-block;
    margin-bottom:12px;
    color:var(--rx29-blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.rx29-intro-copy h1{
    max-width:700px;
    margin:0;
    color:#12395e;
    font-size:clamp(30px,4vw,54px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.rx29-intro-copy p{
    max-width:700px;
    margin:18px 0 0;
    color:#506a7f;
    font-size:clamp(14px,1.25vw,18px);
    line-height:1.7;
}

.rx29-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.rx29-feature-grid article{
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    border:1px solid rgba(190,208,220,.85);
    border-radius:14px;
    background:rgba(255,255,255,.82);
}
.rx29-feature-grid article>span{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eaf4fc;
    color:var(--rx29-blue);
    font-size:11px;
    font-weight:900;
}
.rx29-feature-grid b,
.rx29-feature-grid small{display:block}
.rx29-feature-grid b{color:#23425d;font-size:13px}
.rx29-feature-grid small{margin-top:5px;color:#6c8191;font-size:11px;line-height:1.45}

.rx29-partner-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.rx29-partner-strip a{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--rx29-line);
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 22px rgba(35,72,100,.08);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.rx29-partner-strip a:hover{
    transform:translateY(-2px);
    border-color:#93bad5;
    box-shadow:0 13px 28px rgba(35,72,100,.13);
}
.rx29-partner-strip img{
    display:block;
    width:100%;
    aspect-ratio:2.05/1;
    object-fit:contain;
    background:#fff;
}

.rx29-login-panel{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(26px,4vw,52px);
    background:#fff;
    border-left:1px solid var(--rx29-line);
}

.rx29-login-heading span{
    display:block;
    color:var(--rx29-blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.rx29-login-heading h2{
    margin:7px 0 0;
    color:#18364f;
    font-size:clamp(25px,2.4vw,36px);
    line-height:1.1;
}
.rx29-login-heading p{
    margin:12px 0 0;
    color:var(--rx29-muted);
    font-size:13px;
    line-height:1.55;
}

.rx29-login-form{display:grid;gap:13px;margin-top:24px}

.rx29-field{
    min-width:0;
    min-height:64px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 11px!important;
    border:1px solid var(--rx29-line-strong)!important;
    border-radius:12px!important;
    background:#fff!important;
    transition:border-color .16s ease,box-shadow .16s ease!important;
}
.rx29-field:focus-within{
    border-color:#3482c6!important;
    box-shadow:0 0 0 4px rgba(52,130,198,.12)!important;
}
.rx29-field-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eef5fa;
    color:#32638c;
    font-size:12px;
    font-weight:900;
}
.rx29-field-body{min-width:0;display:grid;gap:2px}
.rx29-field-body small{
    color:#6a8090;
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.rx29-field input{
    width:100%!important;
    min-width:0!important;
    min-height:30px!important;
    height:30px!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#18364f!important;
    font-size:14px!important;
}
.rx29-field kbd{
    min-width:54px;
    padding:5px 7px;
    border:1px solid #dce6ed;
    border-radius:7px;
    background:#f3f7fa;
    color:#4d6980;
    text-align:center;
    font-size:10px;
}
.rx29-password-toggle{
    min-height:34px!important;
    height:34px!important;
    padding:0 9px!important;
    border:0!important;
    border-radius:8px!important;
    background:#eef5fa!important;
    color:#315e83!important;
    font-size:10px!important;
    font-weight:800!important;
}

.rx29-context-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.rx29-select-field{
    display:grid!important;
    gap:6px!important;
    padding:12px!important;
    border:1px solid var(--rx29-line)!important;
    border-radius:12px!important;
    background:var(--rx29-surface-soft)!important;
}
.rx29-select-field>span{
    color:#60798b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.rx29-select-field select{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    padding:0 8px!important;
    border:1px solid #d7e2e9!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#35516a!important;
    font-size:12px!important;
}

.rx29-login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:2px;
}
.rx29-remember{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    color:#50697d!important;
    font-size:12px!important;
}
.rx29-remember input{
    width:17px!important;
    height:17px!important;
    min-height:0!important;
}
.rx29-login-options a{
    color:var(--rx29-blue)!important;
    font-size:12px!important;
    font-weight:800!important;
}

.rx29-login-submit{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(110deg,#087ca4,#0751b8)!important;
    color:#fff!important;
    box-shadow:0 12px 24px rgba(6,84,169,.22)!important;
    font-size:16px!important;
    font-weight:900!important;
}
.rx29-login-submit:hover{filter:brightness(1.04)}
.rx29-login-submit kbd{
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:7px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:10px;
}

.rx29-login-footer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:18px;
    color:#6b8191;
    font-size:12px;
}
.rx29-login-footer a{color:var(--rx29-blue);font-weight:900}

/* Authenticated shell */
body.rx-v29.rx-authenticated .rx-app{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    background:var(--rx29-bg)!important;
}

body.rx-v29 .rx-window-titlebar{
    position:sticky!important;
    top:0!important;
    z-index:700!important;
    width:100%!important;
    min-height:58px!important;
    height:58px!important;
    padding:7px clamp(10px,1.5vw,22px)!important;
    border-bottom:1px solid var(--rx29-line)!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 5px 18px rgba(33,64,87,.06)!important;
}

body.rx-v29 .rx-title-app b{font-size:14px!important}
body.rx-v29 .rx-title-app small{font-size:10px!important}
body.rx-v29 .rx-title-icon{
    width:34px!important;
    height:34px!important;
    border-radius:9px!important;
    font-size:12px!important;
}
body.rx-v29 .rx-user-button{
    min-height:40px!important;
    border-radius:10px!important;
}
body.rx-v29 .rx-avatar{
    width:32px!important;
    height:32px!important;
    border-radius:9px!important;
}
body.rx-v29 .rx-user-copy b{font-size:11px!important}
body.rx-v29 .rx-user-copy small{font-size:9px!important}

body.rx-v29 .rx-main-menubar{
    position:sticky!important;
    top:58px!important;
    z-index:650!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    overflow:visible!important;
    border-bottom:1px solid var(--rx29-line)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 4px 14px rgba(34,64,86,.04)!important;
}
body.rx-v29 .rx-desktop-menu{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:2px!important;
    padding:0 clamp(8px,1.3vw,22px)!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
}
body.rx-v29 .rx-desktop-menu::-webkit-scrollbar{display:none}
body.rx-v29 .rx-menu-group{
    flex:0 0 auto!important;
    min-width:94px!important;
}
body.rx-v29 .rx-menu-group>summary{
    min-height:56px!important;
    height:56px!important;
    padding:7px 13px!important;
    border-bottom:3px solid transparent!important;
    color:#263f56!important;
    font-size:12px!important;
}
body.rx-v29 .rx-menu-group>summary kbd{font-size:9px!important}
body.rx-v29 .rx-menu-group[open]>summary,
body.rx-v29 .rx-menu-group>summary:hover{
    border-bottom-color:var(--rx29-blue)!important;
    background:#eef6fb!important;
    color:var(--rx29-blue-dark)!important;
}
body.rx-v29 .rx-menu-panel{
    z-index:1400!important;
    width:270px!important;
    border:1px solid var(--rx29-line-strong)!important;
    border-radius:0 0 12px 12px!important;
    box-shadow:0 18px 42px rgba(27,58,82,.18)!important;
}
body.rx-v29 .rx-menu-panel-wide{width:330px!important}
body.rx-v29 .rx-menu-panel a{
    min-height:40px!important;
    padding:9px 11px!important;
    border-radius:7px!important;
    font-size:11px!important;
}

body.rx-v29 .rx-content{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:clamp(10px,1.4vw,24px) clamp(9px,1.7vw,28px) 58px!important;
    overflow-x:hidden!important;
    background:var(--rx29-bg)!important;
}
body.rx-v29 .rx-bottom-status{
    min-height:34px!important;
    height:34px!important;
    font-size:10px!important;
}
body.rx-v29 .rx-bottom-status span{padding:0 12px!important}

body.rx-v29 .rx-command-bar{
    top:114px!important;
    min-height:38px!important;
    padding:7px 14px!important;
    font-size:10px!important;
}

/* Dashboard */
.rx29-dashboard{
    width:100%;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--rx29-line);
    border-radius:var(--rx29-radius);
    background:var(--rx29-surface);
    box-shadow:0 12px 34px rgba(35,67,91,.08);
}

.rx29-dashboard-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:clamp(18px,2vw,30px);
    border-bottom:1px solid var(--rx29-line);
    background:linear-gradient(100deg,#f8fbfd,#eef7fc);
}

.rx29-dashboard-brand{
    min-width:0;
    display:flex;
    align-items:center;
    gap:clamp(14px,2vw,26px);
}
.rx29-dashboard-brand img{
    width:clamp(210px,26vw,360px);
    max-height:116px;
    flex:0 0 auto;
    object-fit:contain;
}
.rx29-dashboard-brand>div{min-width:0}
.rx29-dashboard-brand span{
    display:block;
    color:var(--rx29-blue);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.rx29-dashboard-brand h1{
    margin:5px 0 0;
    color:#173b5a;
    font-size:clamp(22px,2.3vw,36px);
    line-height:1.08;
}
.rx29-dashboard-brand p{
    margin:7px 0 0;
    color:#657b8b;
    font-size:12px;
    line-height:1.5;
}

.rx29-dashboard-state{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:1px solid #d3e0e7;
    border-radius:12px;
    background:#fff;
}
.rx29-dashboard-state>span{
    width:11px;
    height:11px;
    border-radius:50%;
    background:#df7b2a;
    box-shadow:0 0 0 5px rgba(223,123,42,.12);
}
.rx29-dashboard-state.is-online>span{
    background:#22a34b;
    box-shadow:0 0 0 5px rgba(34,163,75,.12);
}
.rx29-dashboard-state b,
.rx29-dashboard-state small{display:block}
.rx29-dashboard-state b{color:#24445d;font-size:12px}
.rx29-dashboard-state small{margin-top:3px;color:#738797;font-size:10px}

.rx29-dashboard-partners{
    padding:18px clamp(18px,2vw,28px) 0;
}
.rx29-dashboard-partners img{aspect-ratio:2.15/1}

.rx29-primary-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:18px clamp(18px,2vw,28px) 0;
}
.rx29-primary-action{
    min-width:0;
    min-height:112px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:17px;
    border:1px solid var(--rx29-line);
    border-radius:15px;
    background:#fff;
    color:var(--rx29-text);
    box-shadow:0 7px 20px rgba(35,68,92,.06);
    transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.rx29-primary-action:hover{
    transform:translateY(-2px);
    border-color:#8cb8d5;
    box-shadow:0 13px 28px rgba(35,68,92,.11);
}
.rx29-primary-action.is-primary{
    border-color:#5d9ed0;
    box-shadow:0 0 0 2px rgba(56,139,200,.12),0 10px 24px rgba(35,68,92,.09);
}
.rx29-action-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#e9f3fb;
    color:#0b5cad;
    font-size:20px;
    font-weight:900;
}
.rx29-action-icon.is-green{background:#eaf8ef;color:#238f47}
.rx29-action-icon.is-purple{background:#f2ecfb;color:#7146b9}
.rx29-primary-action b,
.rx29-primary-action small{display:block}
.rx29-primary-action b{color:#23415b;font-size:15px}
.rx29-primary-action small{margin-top:6px;color:#708495;font-size:11px;line-height:1.4}
.rx29-primary-action kbd{
    align-self:start;
    padding:5px 7px;
    border:0;
    border-radius:7px;
    background:#eaf3fa;
    color:#2f6590;
    font-size:9px;
}

.rx29-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:14px clamp(18px,2vw,28px) 0;
}
.rx29-kpi-grid article,
.rx29-kpi-grid>a{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    border:1px solid var(--rx29-line);
    border-radius:14px;
    background:#fff;
    color:var(--rx29-text);
}
.rx29-kpi-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#eaf3fb;
    color:#0b5cad;
    font-weight:900;
}
.rx29-kpi-icon.is-green{background:#eaf8ef;color:#238f47}
.rx29-kpi-icon.is-blue{background:#ebf1ff;color:#285fc0}
.rx29-kpi-icon.is-orange{background:#fff1e8;color:#d96c24}
.rx29-kpi-grid b,
.rx29-kpi-grid strong,
.rx29-kpi-grid small{display:block}
.rx29-kpi-grid b{color:#536a7c;font-size:11px}
.rx29-kpi-grid strong{margin-top:4px;color:#173e68;font-size:clamp(16px,1.4vw,22px)}
.rx29-kpi-grid small{margin-top:3px;color:#7a8d9b;font-size:9px;line-height:1.35}

.rx29-integrity-bar{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
    margin:14px clamp(18px,2vw,28px) 0;
    padding:10px 12px;
    border:1px solid #c5d9e6;
    border-radius:12px;
    background:#f7fbfd;
    color:#526c80;
    font-size:10px;
}
.rx29-integrity-bar.is-ok{border-color:#b8ddc4;background:#f3fbf5}
.rx29-integrity-bar.is-error{border-color:#e5b0ad;background:#fff5f4}
.rx29-integrity-bar>div{display:flex;align-items:center;gap:7px}
.rx29-integrity-bar>div>span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#22a34b;
}
.rx29-integrity-bar.is-error>div>span{background:#d54b42}

.rx29-keyboard-strip{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin:10px clamp(18px,2vw,28px) 0;
    padding:9px 12px;
    overflow-x:auto;
    border:1px solid var(--rx29-line);
    border-radius:12px;
    background:#fbfdfe;
    color:#526c80;
    font-size:10px;
    white-space:nowrap;
    scrollbar-width:none;
}
.rx29-keyboard-strip::-webkit-scrollbar{display:none}
.rx29-keyboard-strip strong{color:#175184;text-transform:uppercase;letter-spacing:.06em}
.rx29-keyboard-strip kbd{
    padding:3px 5px;
    border:1px solid #d8e3ea;
    border-radius:5px;
    background:#f3f7fa;
    color:#315f83;
}

.rx29-recent-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    padding:14px clamp(18px,2vw,28px) clamp(18px,2vw,28px);
}
.rx29-data-panel{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--rx29-line);
    border-radius:14px;
    background:#fff;
}
.rx29-data-panel>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid var(--rx29-line);
    background:#f8fbfd;
}
.rx29-data-panel h2{margin:0;color:#24435c;font-size:15px}
.rx29-data-panel p{margin:4px 0 0;color:#778b99;font-size:10px}
.rx29-data-panel header>a{color:var(--rx29-blue);font-size:11px;font-weight:900}

/* General authenticated-page cleanup without changing module logic */
body.rx-v29 .rx-panel,
body.rx-v29 .rx-card,
body.rx-v29 .panel,
body.rx-v29 .card{
    border-color:var(--rx29-line)!important;
    border-radius:14px!important;
    box-shadow:0 8px 24px rgba(35,67,91,.06)!important;
}
body.rx-v29 .rx-table-wrap{
    max-width:100%!important;
    overflow:auto!important;
    border-color:var(--rx29-line)!important;
}
body.rx-v29 input,
body.rx-v29 select,
body.rx-v29 textarea{
    max-width:100%!important;
}
body.rx-v29 .rx-bill-window,
body.rx-v29 .rx-stock-center,
body.rx-v29 .rx-report-center{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    border-radius:16px!important;
}
body.rx-v29 .rx-bill-grid-wrap,
body.rx-v29 .rx-report-preview,
body.rx-v29 .rx-table-wrap{
    -webkit-overflow-scrolling:touch;
}

/* Tablet / mobile */
@media(max-width:1100px){
    .rx29-login-layout{grid-template-columns:1fr;min-height:0}
    .rx29-login-intro{padding:28px}
    .rx29-login-panel{border-left:0;border-top:1px solid var(--rx29-line);padding:28px}
    .rx29-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

    body.rx-v29 .rx-main-menubar{
        position:fixed!important;
        top:0!important;
        left:0!important;
        width:min(88vw,360px)!important;
        height:100dvh!important;
        min-height:100dvh!important;
        transform:translateX(-104%)!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        z-index:1500!important;
        background:#fff!important;
        transition:transform .2s ease!important;
    }
    body.rx-v29 .rx-main-menubar.is-open{transform:translateX(0)!important}
    body.rx-v29 .rx-main-menubar .rx-sidebar-brand{
        display:flex!important;
        position:sticky!important;
        top:0!important;
        z-index:5!important;
        width:100%!important;
        min-width:0!important;
        padding:12px!important;
        border-bottom:1px solid var(--rx29-line)!important;
        background:#fff!important;
    }
    body.rx-v29 .rx-desktop-menu{
        display:block!important;
        height:auto!important;
        padding:9px!important;
        overflow:visible!important;
    }
    body.rx-v29 .rx-menu-group{width:100%!important;min-width:0!important}
    body.rx-v29 .rx-menu-group>summary{
        width:100%!important;
        min-height:46px!important;
        height:auto!important;
        align-items:flex-start!important;
        padding:10px 12px!important;
        border-left:3px solid transparent!important;
        border-bottom:0!important;
        border-radius:9px!important;
    }
    body.rx-v29 .rx-menu-group[open]>summary{border-left-color:var(--rx29-blue)!important}
    body.rx-v29 .rx-menu-panel{
        position:static!important;
        width:calc(100% - 14px)!important;
        min-width:0!important;
        margin-left:14px!important;
        border:0!important;
        border-left:1px solid var(--rx29-line)!important;
        border-radius:0!important;
        box-shadow:none!important;
    }
    body.rx-v29 .rx-menu-toggle{display:inline-flex!important}
    body.rx-v29 .rx-command-bar{top:58px!important}
    body.rx-v29 .rx-sidebar-scrim:not([hidden]){
        display:block!important;
        position:fixed!important;
        inset:0!important;
        z-index:1450!important;
        background:rgba(16,38,56,.46)!important;
    }

    .rx29-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rx29-primary-actions>a:last-child{grid-column:1/-1}
    .rx29-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rx29-recent-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
    .rx29-login-page{padding:10px}
    .rx29-login-shell{border-radius:16px}
    .rx29-login-brand{
        min-height:82px;
        padding:11px 14px;
    }
    .rx29-brand-logo{width:min(290px,72vw)}
    .rx29-brand-logo img{max-height:74px}
    .rx29-secure-label{display:none}
    .rx29-login-intro{padding:22px 16px 18px;gap:18px}
    .rx29-intro-copy h1{font-size:30px}
    .rx29-feature-grid{grid-template-columns:1fr}
    .rx29-feature-grid article{padding:12px}
    .rx29-partner-strip{
        display:flex;
        gap:10px;
        overflow-x:auto;
        padding-bottom:4px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }
    .rx29-partner-strip::-webkit-scrollbar{display:none}
    .rx29-partner-strip a{
        flex:0 0 min(250px,78vw);
        scroll-snap-align:start;
    }
    .rx29-login-panel{padding:24px 16px}
    .rx29-context-grid{grid-template-columns:1fr}
    .rx29-field{grid-template-columns:38px minmax(0,1fr) auto!important}
    .rx29-field kbd{display:none}
    .rx29-login-options{align-items:flex-start}
    .rx29-login-footer{flex-wrap:wrap;text-align:center}

    body.rx-v29 .rx-window-titlebar{
        min-height:56px!important;
        height:56px!important;
        padding:6px 8px!important;
    }
    body.rx-v29 .rx-topbar-actions{gap:5px!important}
    body.rx-v29 .rx-user-copy,
    body.rx-v29 .rx-ecosystem-switch,
    body.rx-v29 .rx-settings-quick{display:none!important}
    body.rx-v29 .rx-topbar-quick{
        min-width:46px!important;
        padding:5px 7px!important;
        font-size:9px!important;
    }
    body.rx-v29 .rx-content{padding:9px 7px 52px!important}
    body.rx-v29 .rx-command-bar{
        top:56px!important;
        overflow-x:auto!important;
        white-space:nowrap!important;
    }

    .rx29-dashboard{border-radius:14px}
    .rx29-dashboard-head{
        align-items:flex-start;
        flex-direction:column;
        padding:16px;
    }
    .rx29-dashboard-brand{
        width:100%;
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .rx29-dashboard-brand img{
        width:min(300px,86vw);
        max-height:92px;
        object-position:left center;
    }
    .rx29-dashboard-state{width:100%;justify-content:flex-start}
    .rx29-dashboard-partners{padding:14px 14px 0}
    .rx29-primary-actions{
        grid-template-columns:1fr;
        padding:14px 14px 0;
    }
    .rx29-primary-actions>a:last-child{grid-column:auto}
    .rx29-primary-action{min-height:94px;padding:13px}
    .rx29-kpi-grid{
        grid-template-columns:1fr;
        padding:12px 14px 0;
    }
    .rx29-integrity-bar{
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        margin:12px 14px 0;
        white-space:nowrap;
    }
    .rx29-keyboard-strip{
        justify-content:flex-start;
        margin:9px 14px 0;
    }
    .rx29-recent-grid{padding:12px 14px 14px}
}

@media(max-width:420px){
    .rx29-intro-copy h1{font-size:26px}
    .rx29-intro-copy p{font-size:13px}
    .rx29-login-heading h2{font-size:25px}
    .rx29-login-panel{padding:21px 13px}
    .rx29-field{padding:7px 8px!important}
    .rx29-password-toggle{padding:0 7px!important}
    .rx29-login-submit{min-height:49px!important}
    .rx29-primary-action{
        grid-template-columns:46px minmax(0,1fr) auto;
        gap:10px;
    }
    .rx29-action-icon{
        width:46px;
        height:46px;
        font-size:17px;
    }
}

@media print{
    .rx29-partner-strip,
    .rx29-keyboard-strip,
    .rx29-dashboard-state{display:none!important}
}
