@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    color-scheme: light;
  }

  body {
    @apply bg-base-200 text-base-content antialiased;
    background-image:
      radial-gradient(circle at top left, rgba(56, 152, 236, 0.14), transparent 24rem),
      linear-gradient(180deg, #f8fbff 0%, #f4f8ff 100%);
  }

  ::selection {
    @apply bg-primary/20 text-base-content;
  }
}

@layer components {
  .pf-app-shell {
    @apply bg-transparent;
  }

  .pf-main {
    @apply flex-1;
  }

  .pf-page-frame {
    @apply mx-auto flex w-full max-w-app flex-col gap-6 px-4 pb-10 pt-5 sm:px-6 lg:px-8;
  }

  .pf-topbar-shell {
    @apply sticky top-0 z-20 border-b border-base-300/80 bg-base-100/90 backdrop-blur;
    box-shadow: 0 1px 0 rgba(215, 228, 246, 0.85), 0 14px 30px rgba(26, 48, 102, 0.06);
  }

  .pf-topbar-inner {
    @apply mx-auto flex w-full max-w-app flex-col gap-4 px-4 py-4 sm:px-6 lg:px-8;
  }

  .pf-toolbar {
    @apply flex flex-col gap-3 xl:flex-row xl:items-center xl:justify-between;
  }

  .pf-toolbar-main {
    @apply flex flex-1 flex-wrap items-center gap-3;
  }

  .pf-toolbar-actions {
    @apply flex flex-wrap items-center gap-2;
  }

  .pf-store-switcher {
    @apply w-full max-w-toolbar-search;
  }

  .pf-store-switcher-toggle {
    @apply flex h-14 w-full cursor-pointer items-center gap-3 rounded-control border border-base-300 bg-base-100 px-4 text-left text-sm font-medium text-base-content shadow-sm transition duration-150;
  }

  .pf-store-switcher-toggle:hover,
  .pf-store-switcher-toggle:focus-visible {
    @apply border-primary/50 shadow-nav outline-none;
  }

  .pf-store-switcher-summary {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    list-style: none;
  }

  .pf-store-switcher-summary::-webkit-details-marker {
    display: none;
  }

  .pf-store-switcher-summary::marker {
    content: "";
  }

  .pf-toolbar-chip {
    @apply inline-flex h-10 items-center rounded-full border border-base-300 bg-base-100 px-4 text-sm font-medium text-base-content/70;
  }

  .pf-toolbar-menu {
    @apply mt-3 w-80 rounded-panel border border-base-300 bg-base-100 p-3 shadow-panel;
  }

  .pf-search-input {
    @apply input input-bordered h-11 w-full rounded-control border-base-300 bg-base-100 px-4 text-sm shadow-sm transition duration-150;
  }

  .pf-search-input:focus {
    @apply border-primary/50 outline-none ring-4 ring-primary/10;
  }

  .store-switcher-item {
    @apply text-sm font-medium text-base-content/70 transition duration-150;
  }

  .store-switcher-item:hover,
  .store-switcher-item.active {
    @apply bg-base-100 text-primary shadow-sm;
  }

  .pf-subnav {
    @apply flex flex-wrap items-center gap-2 overflow-x-auto border-t border-base-300/70 pt-3;
  }

  .pf-tab-link {
    @apply inline-flex h-10 items-center rounded-full border border-transparent px-4 text-sm font-semibold text-base-content/55 transition duration-150;
  }

  .pf-tab-link:hover {
    @apply bg-brand-soft text-primary;
  }

  .pf-tab-link.active {
    @apply border-primary/20 bg-primary text-primary-content shadow-nav;
  }

  .pf-sidebar {
    @apply min-h-full w-72 border-r border-base-300/80 bg-base-100 px-4 py-6 lg:w-sidebar;
  }

  .pf-sidebar-brand {
    @apply mb-8 rounded-panel border border-base-300/70 p-4 shadow-sm;
  }

  .pf-sidebar-label {
    @apply px-3 text-xs font-semibold uppercase text-base-content/40;
    letter-spacing: 0.18em;
  }

  .pf-nav-list {
    @apply mt-2 space-y-1 rounded-2xl p-2;
  }

  .pf-nav-link {
    @apply flex min-h-11 items-center gap-3 rounded-control px-3 py-3 text-sm font-medium text-base-content/70 transition duration-150;
  }

  .pf-nav-link:hover,
  .pf-nav-link.active {
    @apply bg-base-100 text-primary shadow-nav;
  }

  .pf-nav-link svg {
    @apply h-4 w-4;
  }

  .pf-account-card {
    @apply mt-2 rounded-2xl border border-base-300/70 bg-base-100 p-4 shadow-sm;
  }

  .pf-eyebrow {
    @apply text-xs font-semibold uppercase text-primary;
    letter-spacing: 0.18em;
  }

  .pf-page-title {
    @apply text-page font-extrabold text-base-content;
  }

  .pf-page-subtitle {
    @apply max-w-2xl text-sm leading-6 text-base-content/65;
  }

  .pf-page-header {
    @apply flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between;
  }

  .pf-panel {
    @apply overflow-hidden rounded-panel border border-base-300/70 bg-base-100 shadow-panel;
  }

  .pf-panel-header {
    @apply flex flex-col gap-3 border-b border-base-300/80 px-6 py-4 sm:flex-row sm:items-center sm:justify-between;
  }

  .pf-section-title {
    @apply text-lg font-semibold text-base-content;
  }

  .pf-section-copy {
    @apply text-sm text-base-content/60;
  }

  .pf-stat-card {
    @apply overflow-hidden rounded-panel border border-base-300/70 bg-base-100 px-6 py-6 shadow-panel;
  }

  .pf-stat-label {
    @apply text-xs font-semibold uppercase text-base-content/45;
    letter-spacing: 0.18em;
  }

  .pf-stat-value {
    @apply text-metric font-semibold text-base-content;
  }

  .pf-stat-copy {
    @apply text-sm text-base-content/60;
  }

  .pf-data-card {
    @apply overflow-hidden rounded-panel border border-base-300/70 bg-base-100 shadow-panel;
  }

  .pf-settings-shell {
    @apply grid gap-6 xl:grid-cols-[17rem_minmax(0,1fr)] xl:items-start;
  }

  .pf-settings-nav {
    @apply overflow-hidden rounded-panel border border-base-300/70 bg-base-100 shadow-panel;
  }

  .pf-settings-nav-link {
    @apply block rounded-2xl px-4 py-4 text-base-content transition duration-150;
  }

  .pf-settings-nav-link:hover {
    @apply bg-brand-soft/70;
  }

  .pf-settings-nav-link.active {
    @apply bg-base-200 text-primary shadow-sm;
  }

  .pf-settings-panel {
    @apply overflow-hidden rounded-panel border border-base-300/70 bg-base-100 shadow-panel;
  }

  .pf-settings-form-row {
    @apply grid gap-3 border-b border-base-300/70 pb-5 md:grid-cols-[14rem_minmax(0,1fr)] md:items-start;
  }

  .pf-settings-form-row:last-child {
    @apply border-b-0 pb-0;
  }

  .pf-settings-form-label {
    @apply pt-3 text-sm font-semibold text-base-content/80;
  }

  .pf-settings-form-hint {
    @apply mt-2 text-xs leading-5 text-base-content/55;
  }

  .pf-table {
    @apply table text-sm;
  }

  .pf-table thead th {
    @apply border-b border-base-300/80 bg-base-100 px-6 py-4 text-xs font-semibold uppercase text-base-content/45;
    letter-spacing: 0.16em;
  }

  .pf-table tbody td {
    @apply border-b border-base-300/70 px-6 py-4 align-middle;
  }

  .pf-table tbody tr:hover {
    @apply bg-brand-soft/50;
  }

  .pf-table tbody tr:last-child td {
    @apply border-b-0;
  }

  .pf-empty-state {
    @apply px-6 py-12 text-center text-sm text-base-content/55;
  }
}
.lcs_switch {
  margin-top: 10px !important;
}
/* adapted from http://maxwells.github.io/bootstrap-tags.html */
.tag {
    font-size: 14px;
    padding: .3em .4em .4em;
    margin: 0 .1em;
    align-items: center;
    display: flex;
}
.tag.label {
    font-weight: 700;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
    border-radius: .25em;
}
.tag.label-primary {
    background-color: #6c757d;
}
.tag button {
    color: #bbb;
    cursor: pointer;
    opacity: 0.6;
}
.tag button:hover {
    opacity: 1.0
}
.tag .remove {
    vertical-align: bottom;
    top: 0;
}
.tag button {
    margin: 0 0 0 .3em;
}
.tag button span {
    color: #fff;
    margin-bottom: 2px;
}
body {
  font-size: .875rem;
}

.feather {
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100; /* Behind the navbar */
  padding: 48px 0 0; /* Height of navbar */
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar-sticky {
  position: relative;
  top: 0;
  height: calc(100vh - 48px);
  padding-top: .5rem;
  overflow-x: hidden;
  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

.sidebar .nav-link {
  font-weight: 500;
  color: #333;
}

.sidebar .nav-link .feather {
  margin-right: 4px;
  color: #999;
}

.sidebar .nav-link.active {
  color: #007bff;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
  color: inherit;
}

.sidebar-heading {
  font-size: .75rem;
  text-transform: uppercase;
}

/*
 * Content
 */

[role="main"] {
  padding-top: 0;
}

/*
 * Navbar
 */

.navbar-brand {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: 1rem;
  background-color: rgba(0, 0, 0, .25);
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}

.navbar .form-control {
  padding: .75rem 1rem;
  border-width: 0;
  border-radius: 0;
}

.form-control-dark {
  color: #fff;
  background-color: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .1);
}

.form-control-dark:focus {
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}

.sticky-store-header {
  position: sticky;
  top: 0;
  z-index: 90;
  background: #f8f9fa;
}

.store-switcher-menu {
  min-width: 340px;
  max-height: 380px;
  overflow-y: auto;
}

.store-workspace-tabs .nav-link {
  padding: .35rem .75rem;
  font-size: .825rem;
}
// Place all the styles related to the splash_page controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: https://sass-lang.com/
// Place all the styles related to the WorkOrders controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: https://sass-lang.com/
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

 .spinner {
    display: none;
    position: relative;
    width: 40px;
    height: 40px;
  }
  .spinner div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    margin: 6px;
    border: 6px solid #007bff;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #007bff transparent transparent transparent;
  }
  .spinner div:nth-child(1) {
    animation-delay: -0.45s;
  }
  .spinner div:nth-child(2) {
    animation-delay: -0.3s;
  }
  .spinner div:nth-child(3) {
    animation-delay: -0.15s;
  }
  @keyframes lds-ring {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }

  .headway-updates {
    justify-content: flex-start !important;
  }
