diff --git a/forms/ecomerce/catalog/style.css b/forms/ecomerce/catalog/style.css
index b94cc19e..dec55c0d 100644
--- a/forms/ecomerce/catalog/style.css
+++ b/forms/ecomerce/catalog/style.css
@@ -28,14 +28,14 @@
 	right: 0;
 	width: 17em;
 	background-color: white;
-	box-shadow: 0 0 .2em rgba(1, 1, 1, 0.4);
+	box-shadow: 0 0 .2em rgba(1, 1, 1, .2);
 	overflow: auto;
 }
 .right-panel .basket-info
 {
 	background-color: #00ACC1;
 	color: white;
-	box-shadow: 0 .1em .1em rgba(1, 1, 1, 0.3);
+	box-shadow: 0 .1em .1em rgba(1, 1, 1, .3);
 	padding: 1.2em 2em;
 }
 .right-panel .basket-info > button
@@ -67,7 +67,7 @@
 .right-panel .realm-msg
 {
 	margin-top: 1em;
-/*	box-shadow: 0 0 .3em rgba(1, 1, 1, 0.5);
+/*	box-shadow: 0 0 .3em rgba(1, 1, 1, .5);
 	border-radius: 50%;
 	overflow: hidden;*/
 }
@@ -100,7 +100,7 @@
 }
 .right-panel .realms a:hover
 {
-	background-color: rgba(1, 1, 1, 0.05);
+	background-color: rgba(1, 1, 1, .05);
 	border-radius: .1em;
 }
 .right-panel .realms a > img
diff --git a/js/hedera/gui.css b/js/hedera/gui.css
index ddb595e8..3ae789f7 100644
--- a/js/hedera/gui.css
+++ b/js/hedera/gui.css
@@ -24,7 +24,7 @@
 	right: 0;
 	z-index: 1;
 	overflow: hidden;
-	box-shadow: 0 .1em .1em rgba(1, 1, 1, 0.3);
+	box-shadow: 0 0 .2em rgba(1, 1, 1, .3);
 	height: 3.9em;
 	color: white;
 
@@ -96,7 +96,7 @@
 }
 .vn-gui .action-bar button:hover
 {
-	background-color: rgba(1, 1, 1, 0.2);
+	background-color: rgba(1, 1, 1, .2);
 }
 .vn-gui .action-bar button > img
 {
@@ -115,7 +115,7 @@
 	right: 0;
 	bottom: 0;
 	visibility: hidden;
-	background-color: rgba(1, 1, 1, 0.7);
+	background-color: rgba(1, 1, 1, .7);
 	opacity: 0;
 }
 .vn-gui > .background.show
@@ -136,7 +136,7 @@
 	top: 0;
 	background-color: white;
 	z-index: 20;
-	box-shadow: 0 .2em .2em rgba(1, 1, 1, 0.4);
+	box-shadow: 0 .2em .2em rgba(1, 1, 1, .4);
 	width: 15em;
 }
 .vn-gui .menu-overflow
@@ -202,7 +202,7 @@
 	color: white;
 	padding: 0 1em;
 	line-height: 2em;
-	border-radius: 0.1em;
+	border-radius: .1em;
 	text-align: center;
 }
 .vn-gui .test-link:hover
@@ -236,7 +236,7 @@
 .vn-gui .main-menu a:hover,
 .vn-gui .main-menu a.selected
 {
-	background-color: rgba(1, 1, 1, 0.1);
+	background-color: rgba(1, 1, 1, .1);
 }
 .vn-gui ul.submenu
 {
@@ -249,7 +249,7 @@
 	border: none;
 	border-radius: 1px;
 	background-color: white;
-	box-shadow: 0 .2em .2em #CCC;
+	box-shadow: 0 0 .3em rgba(1, 1, 1, .3);
 	z-index: 50;
 	width: 13em;
 	max-height: 30em;
@@ -262,7 +262,7 @@
 	position: absolute;
 	bottom: 0;
 	right: 0;
-	padding: 0.8em;
+	padding: .8em;
 }
 
 /* Body */
@@ -333,7 +333,7 @@
 	{
 		top: 0;
 		left: -15em;
-		box-shadow: 0 .2em .2em #333;
+		box-shadow: 0 0 .2em rgba(1, 1, 1, .3);
 
 		transition: transform 200ms ease-out;
 		-webkit-transition: transform 200ms ease-out;
@@ -351,8 +351,8 @@
 	{
 		display: block;
 		background-color: #888;
-		color:white;
-		box-shadow: inset 0 0 .2em rgba(1, 1, 1, 0.2);
+		color: white;
+		box-shadow: inset 0 0 .2em rgba(1, 1, 1, .2);
 		overflow: hidden;
 	
 		max-height: 0;
diff --git a/web/service.php b/web/service.php
index 9685b772..61ec5444 100755
--- a/web/service.php
+++ b/web/service.php
@@ -144,9 +144,12 @@ abstract class Service
 				$db->query ('CALL account.userLogin (#, #)',
 					[$user, $_POST['password']]);
 			}
-			catch (\Exception $e)
+			catch (\Vn\Db\Exception $e)
 			{
-				throw new BadLoginException ();
+				if ($e->getMessage () == 'INVALID_CREDENTIALS')
+					throw new BadLoginException ();
+				else
+					throw $e;
 			}
 		}
 		else