.astra .astra-cab { display: block; margin: 80px 0 0; padding: 0; min-height: 0; background: none; }
.astra .astra-cab .cab-main { margin: 0; padding: 0; min-width: 0; }
.astra .astra-cab .cab-top { display: flex; justify-content: space-between; align-items: center; background: var(--astra-panel); border: 1px solid var(--astra-rim); padding: 16px 24px; box-shadow: var(--astra-shadow); border-radius: 4px; margin-bottom: 28px; }
.astra .astra-cab .cab-top-title { font-size: 15px; }
.astra .astra-cab .cab-user { flex: 1; justify-content: flex-start; gap: 16px; min-width: 0; }
.astra .astra-cab .cab-user-text { min-width: 0; overflow-wrap: anywhere; margin-right: auto; }
.astra-cab-path { display: flex; align-items: center; gap: 10px; font-size: 13px; margin: 0 0 16px; }
.astra-cab-path > a { display: inline-grid; place-items: center; width: 44px; height: 44px; }
.astra-cab-path svg { width: 18px; height: 18px; }
.astra-catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 22px 20px; }
.astra-catalog-heading h1 { font-size: clamp(26px,3vw,44px); line-height: 1.15; margin: 0 0 10px; letter-spacing: -1px; }
.astra-catalog-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.astra-catalog-search { display: flex; align-items: center; padding: 4px 14px; gap: 14px; background: var(--astra-panel); border: 1px solid var(--astra-rim); min-width: 230px; }
.astra-catalog-search input { width: 100%; background: none; border: 0; min-height: 44px; font: inherit; font-size: 14px; min-width: 0; }
.astra-catalog-search svg { flex-shrink: 0; width: 22px; }
.astra .astra-account-featured { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; margin: 28px 0 24px; }
.astra-featured-panel { display: grid; grid-template-columns: 30% minmax(0,1fr); align-items: center; gap: 20px; padding: 28px; background: var(--astra-panel); border: 1px solid var(--astra-rim); box-shadow: var(--astra-shadow); position: relative; min-width: 0; }
.astra-featured-panel::before,.astra-launcher-tile::before,.astra-catalog-group::before { content: ""; position: absolute; inset: -4px; border: 22px solid transparent; border-image: var(--astra-frame) 24 stretch; pointer-events: none; }
.astra-featured-panel h2 { margin: 0 0 12px; font-size: 23px; }
.astra-featured-panel dl { margin: 14px 0 24px; font-size: 13px; }
.astra-featured-panel dl > div { display: flex; justify-content: space-between; gap: 12px; margin: 9px 0; }
.astra-featured-panel dd { margin: 0; font-weight: 700; }
.astra-account-art { display: block; width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 8px 7px #008bff22); }
.astra-launcher-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin: 0 0 28px; }
.astra-launcher-tile { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; position: relative; min-width: 0; gap: 16px; padding: 24px; background: var(--astra-panel); border: 1px solid var(--astra-rim); box-shadow: var(--astra-shadow); color: var(--text); text-decoration: none; min-height: 170px; }
.astra-launcher-tile > span { min-width: 0; }
.astra-launcher-tile b { font-size: 17px; }
.astra-launcher-tile small { display: block; font-size: 12px; color: var(--muted); margin-top: 6px; }
.astra-launcher-tile:hover { border-color: var(--accent); box-shadow: var(--astra-shadow),0 0 18px #119bff33; }
.astra-launcher-tile.is-soon { background: var(--surface); opacity: .8; border-style: dashed; box-shadow: none; }
.astra-launcher-tile.is-soon::before { display: none; }
.astra-module-icon { display: inline-grid; place-items: center; width: 62px; height: 62px; color: #fff; border: 1px solid #b4efff; border-radius: 12px; background: linear-gradient(135deg,#d5f3ff,#008aff 18%,#0047f3 66%,#75ddff); box-shadow: inset 0 0 0 4px #ffffff40,inset 0 0 8px #00d5ff,0 5px 8px #007bff44; transform: perspective(200px) rotateY(-9deg); }
.astra-module-icon svg { width: 34px; height: 34px; stroke-width: 1.5; filter: drop-shadow(0 1px 2px #003ba5); }
.astra-tile-arrow { position: absolute; right: 20px; bottom: 18px; color: var(--accent); }
.astra-account-details { margin-top: 28px; }
.astra-account-launcher .astra-launcher-grid { grid-template-columns: repeat(12,minmax(0,1fr)); }
.astra-account-launcher .astra-launcher-tile { grid-column: span 3; }
.astra-account-launcher .astra-launcher-tile.has-artwork { min-height: 260px; padding: 22px 20px 140px; flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: 14px; }
.astra-account-launcher .has-artwork .astra-module-icon { width: 38px; height: 42px; flex-shrink: 0; }
.astra-account-launcher .has-artwork .astra-module-icon svg { width: 24px; height: 24px; }
.astra-tile-art { position: absolute; width: 90%; height: 140px; object-fit: contain; bottom: 0; left: 5%; pointer-events: none; }
.astra-account-launcher .astra-launcher-tile.is-secondary { grid-column: span 4; min-height: 130px; flex-direction: row; align-items: center; justify-content: flex-start; }
.astra-account-launcher .astra-launcher-tile.is-soon { grid-column: span 6; min-height: 95px; flex-direction: row; align-items: center; justify-content: flex-start; }
.astra-account-details > summary,.astra-section-switcher > summary { cursor: pointer; padding: 16px 22px; background: var(--astra-panel); border: 1px solid var(--border); font-weight: 700; }
.astra-account-details .cab-grid { margin-top: 24px; }
.astra-section-switcher { position: relative; z-index: 20; margin-bottom: 24px; }
.astra-section-switcher > nav { padding: 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; background: var(--astra-reading); border: 1px solid var(--border); }
.astra .auth-screen { margin: 76px 0 32px; border: 1px solid var(--astra-rim); border-radius: 4px; background: var(--astra-panel); box-shadow: var(--astra-shadow); overflow: visible; grid-template-columns: 42% 58%; }
.astra .auth-side { padding: 42px 38px; background: transparent; border-right: 1px solid var(--border); min-width: 0; overflow: hidden; }
.astra .auth-side::after { display: none; }
.astra-auth-art { display: block; width: 100%; height: auto; max-width: 512px; margin: 32px auto; }
.astra .auth-side-copy { margin-top: 35px; }
.astra .auth-welcome { font-size: clamp(27px,3.2vw,44px); }
.astra .auth-main { background: transparent; padding: 35px; min-width: 0; }
.astra .auth-box { padding: 0; border: 0; background: transparent; box-shadow: none; max-width: 750px; }
.astra .auth-title { font-size: 32px; }
.astra .auth-head-ico { display: none; }
.astra .auth-brand { display: none; }
.astra .auth-side-copy p { color: var(--text); font-size: 17px; }
.astra .auth-box .field { margin-bottom: 16px; }
.astra .auth-box .field label { color: var(--text); }
.astra .auth-box .row3 .field label { white-space: normal; overflow-wrap: anywhere; }
.astra .auth-box :is(.input,.select) { background: var(--surface); border-color: var(--astra-rim); border-radius: 4px; min-height: 44px; }
.astra .auth-legal { margin-top: auto; padding-top: 20px; }
.astra.is-admin > main.wrap { width: calc(100% - 64px); max-width: 1360px; padding-top: 65px; }
.astra.is-admin .adm { display: block; min-height: 0; margin: 0; padding: 0; }
.astra.is-admin .adm-main { margin: 0; padding: 0; min-width: 0; }
.astra.is-admin .adm-nav { position: static; width: auto; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 0; min-height: 0; padding: 15px; background: var(--astra-reading); }
.astra-catalog-group { position: relative; background: var(--astra-panel); border: 1px solid var(--astra-rim); padding: 22px; margin: 24px 0; }
.astra-catalog-group > h2 { margin: 0 0 20px; font-size: 22px; }
.astra-admin-launcher .astra-launcher-grid { grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); margin-bottom: 0; gap: 16px; }
.astra-admin-launcher .astra-launcher-tile { min-height: 155px; padding: 22px 14px; align-items: center; text-align: center; }
.astra-admin-launcher .astra-launcher-tile b { font-size: 13px; }
.astra.is-admin .adm-foot { display: none; }
.astra.is-admin .adm-title { font-size: 30px; }
.astra.is-admin .adm-search input { color: var(--text); }
.astra.is-admin .adm-search { border-color: var(--border); }
.astra.is-admin :is(.adm-card,.adm-dash-col,.adm-row,.adm-dashboard,.adm-dash-main,.adm-dash-side) { min-width: 0; }
.astra.is-admin .adm-card { overflow: auto; }
.astra.is-admin .adm-card-head { flex-wrap: wrap; gap: 10px; }
.astra .auth-tiles { display: none; }
.astra .org-shell { background: none; }
.astra :is(.org-hero,.org-tabs,.org-panel,.of-actions,.of-card) { background: var(--astra-panel); border: 1px solid var(--astra-rim); box-shadow: var(--astra-shadow); border-radius: 4px; }
.astra :is(.org-hero,.org-panel,.of-actions) { padding: 24px; }
.astra .org-hero { margin-bottom: 24px; }
.astra .org-hero h1 { font-size: clamp(24px,3vw,40px); }
.astra .org-tabs { padding: 8px; }
.astra .of-card .tile,.astra .org-sum-icon { background: linear-gradient(135deg,#76cfff,#0068ff); color: #fff; border: 1px solid #7cceff; box-shadow: 0 4px 10px #0077ff33; }
.astra.of-app :is(.of-head,.of-ribbon,.of-tabs,.of-statusbar,.of-outline,.of-props,.of-blog-bar) { background: var(--astra-panel); border-color: var(--astra-rim); }
.astra.of-app .of-head { position: relative; z-index: 50; border-bottom: 1px solid var(--astra-rim); }
.astra.of-app .of-workspace { background: transparent; }
.astra.of-app .of-page { box-shadow: 0 12px 30px #001d4d55; }
.astra.of-app .of-title { min-height: 32px; }
.astra.of-app .of-controls { overflow: visible; flex-wrap: wrap; }
.astra.of-app .of-props :is(input,select,textarea) { min-height: 34px; }
.astra.of-app .of-outline { border-right: 1px solid var(--astra-rim); }
.astra.is-mail { overflow: auto; }
.astra.is-mail > main.wrap { width: calc(100% - 64px); max-width: 1360px; padding-top: 48px; }
.astra.is-mail .mail-app { display: grid; grid-template-columns: minmax(290px,.85fr) minmax(0,1.45fr); grid-template-rows: auto minmax(450px,1fr); gap: 20px; height: auto; min-height: 70vh; background: none; border: 0; padding: 0; }
.astra.is-mail .mail-side { grid-column: 1/-1; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 16px; background: var(--astra-panel); border: 1px solid var(--astra-rim); border-radius: 3px; overflow: visible; }
.astra.is-mail .mail-compose-btn { width: auto; min-width: 160px; padding: 12px 20px; margin: 0; }
.astra.is-mail .mail-products { margin: 0 0 0 auto; }
.astra.is-mail .mail-side > .mail-nav { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; order: 3; flex: 1 1 80%; margin: 0; }
.astra.is-mail .mail-nav-item { border: 1px solid var(--border); border-radius: 3px; padding: 10px 14px; min-height: 44px; }
.astra.is-mail .mail-side > .mail-nav.is-enhanced:not(.is-expanded) > .mail-nav-item:not([data-mail-primary="1"]):not(.is-on) { display: none; }
.astra.is-mail .mail-nav-more { display: flex; min-height: 44px; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 3px; padding: 10px; }
.astra-mail-folders { order: 4; position: relative; min-width: 160px; }
.astra-mail-folders > summary { cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 11px 16px; border: 1px solid var(--border); min-height: 44px; }
.astra-mail-folders summary svg { width: 20px; height: 20px; }
.astra-mail-folders-panel { position: absolute; right: 0; top: calc(100% + 8px); background: var(--astra-reading); padding: 18px; border: 1px solid var(--astra-rim); box-shadow: var(--astra-shadow); width: min(320px,80vw); max-height: 65vh; overflow: auto; z-index: 30; }
.astra-mail-folders-panel .mail-nav { display: grid; }
.astra-mail-folders-panel .mail-quota { margin-top: 16px; }
.astra.is-mail :is(.mail-list,.mail-read,.mail-modal-box) { background: var(--astra-panel); border: 1px solid var(--astra-rim); border-radius: 4px; box-shadow: var(--astra-shadow); }
.astra.is-mail .mail-list { grid-column: 1; min-width: 0; }
.astra.is-mail .mail-read { grid-column: 2; min-width: 0; }
.astra.is-mail .mail-row { border-color: var(--border); }
.astra.is-mail .mail-row.is-selected { background: var(--surface-2); }
.astra.is-mail .mail-mobile-search { background: var(--surface); }
@media(max-width:900px) {
    .astra.is-mail > main.wrap { width: calc(100% - 24px); padding-top: 22px; }
    .astra.is-mail .mail-app { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; gap: 14px; }
    .astra.is-mail .mail-read { grid-column: 1; }
    .astra.is-mail .mail-app:not(.has-open) .mail-read { display: none; }
    .astra.is-mail .mail-app.has-open > :is(.mail-side,.mail-list) { display: none; }
    .astra.is-mail .mail-side { padding: 12px; }
    .astra.is-mail .mail-mobile-search { display: flex; flex-basis: 100%; }
    .astra.is-mail .mail-side > .mail-nav { flex-basis: 100%; }
    .astra.is-mail .mail-nav-item { font-size: 12px; padding: 8px; }
    .astra-mail-folders { width: 100%; }
    .astra-mail-folders-panel { width: 100%; }
}
@media(max-width:1023px) {
    .astra .astra-cab { margin-top: 35px; }
    .astra-account-launcher .astra-launcher-tile { grid-column: span 6; }
    .astra-account-launcher .astra-launcher-tile b { overflow-wrap: anywhere; }
    .astra .astra-account-featured { grid-template-columns: 1fr 1fr; }
    .astra-featured-panel { padding: 20px; grid-template-columns: 1fr; }
    .astra-account-art { width: 120px; }
    .astra-launcher-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .astra-catalog-heading { align-items: stretch; flex-direction: column; margin: 22px 0; }
    .astra-catalog-search { min-width: 0; }
    .astra .auth-screen { margin-top: 35px; grid-template-columns: 36% 64%; }
    .astra .auth-side { padding: 28px 24px; }
    .astra .auth-main { padding: 28px 24px; }
    .astra.is-admin > main.wrap { width: calc(100% - 32px); }
}
@media(max-width:640px) {
    .astra-account-launcher .astra-launcher-tile.has-artwork { min-height: 150px; padding: 18px 14px; flex-direction: column; }
    .astra-tile-art { display: none; }
    .astra-account-launcher .astra-launcher-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .astra-account-launcher .astra-launcher-tile,.astra-account-launcher .astra-launcher-tile.is-secondary,.astra-account-launcher .astra-launcher-tile.is-soon { grid-column: auto; min-height: 150px; flex-direction: column; align-items: flex-start; }
    .astra .astra-cab { margin-top: 10px; }
    .astra .astra-cab .cab-top { padding: 14px; flex-wrap: wrap; }
    .astra .astra-cab .cab-user { flex-wrap: wrap; justify-content: flex-start; margin: 8px 0; }
    .astra .astra-account-featured { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
    .astra-featured-panel { grid-template-columns: minmax(0,1fr); padding: 18px 14px; gap: 10px; align-content: start; }
    .astra-account-art { width: 52px; height: 48px; object-fit: contain; }
    .astra-featured-panel h2 { font-size: 14px; overflow-wrap: anywhere; }
    .astra-featured-panel dl { font-size: 11px; margin: 12px 0; }
    .astra-featured-panel p,.astra-featured-panel b { font-size: 12px; }
    .astra-featured-panel dl > div { display: block; }
    .astra-featured-panel .btn { font-size: 11px; padding: 8px; min-height: 44px; white-space: normal; width: 100%; }
    .astra-featured-panel .btn svg { width: 14px; flex-shrink: 0; }
    .astra-launcher-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
    .astra-launcher-tile { min-height: 154px; padding: 18px 14px; }
    .astra-launcher-tile b { font-size: 14px; }
    .astra-module-icon { width: 50px; height: 50px; }
    .astra-module-icon svg { width: 28px; height: 28px; }
    .astra-section-switcher > nav { grid-template-columns: 1fr 1fr; }
    .astra .auth-screen { grid-template-columns: 1fr; margin-top: 20px; }
    .astra .auth-side { padding: 24px; border-right: 0; border-bottom: 1px solid var(--border); }
    .astra .auth-side-copy { margin: 0; padding-right: 70px; }
    .astra .auth-side { position: relative; }
    .astra-auth-art { position: absolute; right: 0; top: 34px; width: 100px; margin: 0; }
    .astra .auth-side-copy p { font-size: 13px; }
    .astra .auth-side::after { width: 90px; height: 100px; right: 0; left: auto; top: 35px; bottom: auto; }
    .astra .auth-welcome { font-size: 26px; }
    .astra .auth-legal,.astra .auth-tiles { display: none; }
    .astra .auth-main { padding: 24px 18px; }
    .astra .auth-box .row2 { grid-template-columns: 1fr; }
    .astra.is-admin > main.wrap { width: calc(100% - 24px); padding-top: 30px; }
    .astra.is-admin .adm-nav { grid-template-columns: 1fr 1fr; }
    .astra-admin-launcher .astra-launcher-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .astra-catalog-group { padding: 15px; }
}
