/* Copyright 2015 The Vanadium Authors. All rights reserved. */
/* Use of this source code is governed by a BSD-style */
/* license that can be found in the LICENSE file. */

@import "common-style/reset.css";
@import "common-style/theme.css";
@import "common-style/sizes.css";
@import "common-style/a11y.css";
@import "common-style/defaults.css";

body {
  font-family: var(--font-family);
  color: var(--color-text-primary);
  background-color: var(--color-white);
}

.title {
  font-size: var(--size-font-large);
  color: var(--color-white);
}

.drawer .toolbar {
  background-color: var(--color-secondary-800);
}

.toolbar {
  background-color: transparent;
}

.panel .drawer {
  background-color: var(--color-white);
}

.drawer-toggle {
  color: var(--color-white);
}

/*
 * Wrap the paper-toast in a fixed div. This allows us to show multiple toasts.
 */
div.toasts {
  left: 0;
  bottom: 0;
  position: fixed;
}

/*
 * Override the default toast style so that it can be rendered in div.toasts
 */
paper-toast {
  min-height: 0;
  position: relative;
  display: block;
  margin-bottom: var(--size-space-xsmall)
}

paper-toast::shadow .toast-text {
  vertical-align: middle;
  font-family: var(--font-family);
  padding: 1em 1em;
}

paper-toast.info::shadow .toast-text {
  color: var(--color-white);
}

paper-toast.error::shadow .toast-text {
  color: var(--color-error);
}

paper-toast.ok::shadow .toast-text,
paper-toast::shadow .toast-text.toast-action {
  color: var(--color-ok);
}

core-header-panel::shadow #mainPanel {
  background-color: var(--color-white);
}
