html, body, body.vesta-app-body { height: 100%; }
body.vesta-app-body { overflow: hidden; }
.vesta-app-shell { display: block; height: 100vh; height: 100dvh; overflow: hidden; position: relative; }
.vesta-app-shell__main { min-width: 0; height: 100vh; height: 100dvh; margin-left: var(--vesta-sidebar-w); display: flex; flex-direction: column; overflow: hidden; transition: margin-left .22s ease; }
.vesta-app-shell.is-sidebar-collapsed .vesta-app-shell__main { margin-left: var(--vesta-sidebar-w-collapsed); }
.vesta-page-shell { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 18px var(--vesta-page-padding) 96px; }
.vesta-section { margin-bottom:24px; }
.vesta-dashboard-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:10px 0 24px;padding:0 10px}.vesta-dashboard-hero h1{margin:5px 0 6px;font-size:28px;line-height:1.12;letter-spacing:-.04em}.vesta-dashboard-hero p{margin:0;color:var(--vesta-text-2);font-size:14px}.vesta-dashboard-hero__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vesta-eyebrow { display:inline-block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--vesta-accent); }
.vesta-page-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; padding:0 10px; }.vesta-page-header__content { display:flex; gap:16px; align-items:flex-start; }.vesta-page-header__icon { width:46px; height:46px; border-radius:16px; background:#fff; border:1px solid var(--vesta-border); display:grid; place-items:center; box-shadow:var(--vesta-shadow-soft); }.vesta-page-header h1 { margin:0 0 6px; font-size:24px; line-height:1.2; letter-spacing:-.03em; }.vesta-page-header p { margin:0; color:var(--vesta-text-2); font-size:14px; }
.vesta-dashboard-grid { display:grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap:24px; align-items:start; }
.vesta-dashboard-grid__main { display:grid; gap:16px; min-width:0; }
.vesta-utility-rail { display:grid; gap:16px; align-content:start; min-width:0; }
.vesta-dashboard-banner { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px; background:linear-gradient(135deg,#ffffff 0%,#F3F5FF 100%); border:1px solid var(--vesta-border); border-radius:var(--vesta-radius-lg); margin-bottom:24px; box-shadow:var(--vesta-shadow-soft); }
.vesta-dashboard-banner h2 { margin:4px 0 8px; font-size:24px; }.vesta-dashboard-banner p { margin:0; color:var(--vesta-text-2); }
.vesta-mobile-quick-actions { display:none; }
@media (max-width: 1023px) { body.vesta-app-body { overflow: hidden; } .vesta-app-shell__main { margin-left: 0; } .vesta-page-shell { padding: 16px 16px 92px; } .vesta-dashboard-grid { grid-template-columns: 1fr; } .vesta-app-shell:after,.vesta-app-shell:before{display:none} }
@media (max-width: 767px) { .vesta-page-shell { padding: 12px 12px 84px; } .vesta-page-header { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 16px; } .vesta-page-header__content { gap: 12px; } .vesta-page-header__icon { width: 42px; height: 42px; border-radius: 12px; } .vesta-page-header h1 { font-size: 20px; } .vesta-dashboard-banner { flex-direction: column; align-items: stretch; padding: 18px; margin-bottom: 16px; } .vesta-dashboard-banner h2 { font-size: 20px; } .vesta-dashboard-hero{flex-direction:column;align-items:flex-start;padding:0;margin-top:2px}.vesta-dashboard-hero h1{font-size:23px}.vesta-dashboard-hero__actions{width:100%}.vesta-dashboard-hero__actions .vesta-button{flex:1} }
@media (max-width: 767px) { .vesta-mobile-quick-actions { display:block; margin-bottom:16px; } .vesta-utility-rail .vesta-utility-rail__quick-actions { display:none; } .vesta-dashboard-grid__main { order: 2; } .vesta-utility-rail { order: 3; } }
@media (max-width: 767px) { :root { --vesta-mobile-safe-top: max(18px, env(safe-area-inset-top, 0px)); --vesta-topbar-mobile-row-h: 60px; --vesta-topbar-mobile-extra: 12px; --vesta-topbar-mobile-total: calc(var(--vesta-mobile-safe-top) + var(--vesta-topbar-mobile-row-h) + var(--vesta-topbar-mobile-extra)); } .vesta-app-shell, .vesta-app-shell__main { height: 100vh; height: 100dvh; } .vesta-app-shell__main { padding-top: var(--vesta-topbar-mobile-total); } .vesta-page-shell { padding-top: 12px; } }

.vesta-bottom-dock{position:fixed;left:calc(var(--vesta-sidebar-w) + 28px);right:28px;bottom:18px;min-height:58px;border:1px solid var(--vesta-border);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:var(--vesta-shadow-float);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;pointer-events:auto}.vesta-app-shell.is-sidebar-collapsed .vesta-bottom-dock{left:calc(var(--vesta-sidebar-w-collapsed) + 28px)}.vesta-bottom-dock__left,.vesta-bottom-dock__right{display:flex;align-items:center;gap:10px;min-width:0}.vesta-dock-pill{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--vesta-divider);border-radius:999px;background:#fff;color:var(--vesta-text-2);font-size:12px;font-weight:750;white-space:nowrap}.vesta-dock-pill kbd{min-width:30px;height:24px;border-radius:8px;border:1px solid #E4E8F1;background:#F8FAFF;display:inline-grid;place-items:center;font-size:11px;color:var(--vesta-text)}.vesta-dock-status{display:inline-flex;align-items:center;gap:8px;color:var(--vesta-text-2);font-size:12px;font-weight:700}.vesta-dock-status:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--vesta-success);box-shadow:0 0 0 4px rgba(31,157,97,.1)}
@media (max-width:1023px){.vesta-bottom-dock{display:none}}
