@charset "utf-8";

:root{
  --wc-bg0:#f6fbfb;
  --wc-bg1:#f4f7ff;
  --wc-card:#ffffff;
  --wc-ink:#0f172a;
  --wc-muted:#64748b;
  --wc-border:rgba(15,23,42,.10);
  --wc-border-strong:rgba(15,23,42,.16);
  --wc-shadow:0 18px 45px rgba(2, 6, 23, .08);
  --wc-shadow-sm:0 10px 25px rgba(2, 6, 23, .07);
  --wc-radius:16px;

  --wc-primary:#0ea5a4;
  --wc-primary-rgb:14, 165, 164;
  --wc-primary-ink:#083a3a;
  --wc-accent:#7c3aed;
  --wc-accent-rgb:124, 58, 237;
  --wc-accent-2:#22c55e;
  --wc-accent-2-rgb:34, 197, 94;
  --wc-danger:#ef4444;

  --wc-grad:linear-gradient(135deg, rgba(var(--wc-primary-rgb),.18), rgba(var(--wc-accent-rgb),.12) 55%, rgba(var(--wc-accent-2-rgb),.10));
  --wc-grad-strong:linear-gradient(135deg, #0ea5a4, #7c3aed);
}

html, body{height:100%;}

body.wc-body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--wc-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -webkit-text-size-adjust:100%;
  background-color:var(--wc-bg0);
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.14)),
    radial-gradient(900px 520px at 12% 12%, rgba(var(--wc-primary-rgb),.16), transparent 62%),
    radial-gradient(980px 560px at 86% 18%, rgba(var(--wc-accent-rgb),.14), transparent 62%),
    radial-gradient(920px 520px at 70% 92%, rgba(var(--wc-accent-2-rgb),.10), transparent 58%),
    var(--wc-background-image, none);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
  background-position:center center,12% 12%,86% 18%,70% 92%,center center;
  background-size:auto,auto,auto,auto,cover;
  background-attachment:scroll,scroll,scroll,scroll,fixed;
}

.wc-body{
  position:relative;
}

.wc-background-layer{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:.52;
}

.wc-body .navbar-toggler{
  padding:.5rem .65rem;
  border-radius:12px;
}

.wc-body .navbar-toggler:focus{
  box-shadow:0 0 0 .25rem rgba(var(--wc-primary-rgb),.18);
}

.wc-app-shell{
  min-height:100%;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1;
}

.wc-navbar,
.wc-navbar.navbar,
.wc-navbar.navbar-light{
  background:linear-gradient(180deg, rgba(var(--wc-menu-bg-rgb, 255, 255, 255), .94), rgba(var(--wc-menu-bg-rgb, 255, 255, 255), .88))!important;
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--wc-border);
  position:sticky;
  top:0;
  z-index:1030;
}
.wc-navbar .navbar-collapse{
  border-radius:18px;
  gap:.75rem;
}
.wc-navbar .navbar-collapse.show,
.wc-navbar .navbar-collapse.collapsing{
  background:rgba(var(--wc-menu-bg-rgb, 255, 255, 255), .72);
  padding:.5rem;
  margin-top:.5rem;
  border:1px solid rgba(var(--wc-menu-text-rgb, 15, 23, 42), .08);
}
.wc-navbar .navbar-brand,
.wc-navbar.navbar-light .navbar-brand{
  letter-spacing:.2px;
  color:var(--wc-menu-text, #0f172a)!important;
}
.wc-navbar .navbar-brand:hover,
.wc-navbar .navbar-brand:focus,
.wc-navbar.navbar-light .navbar-brand:hover,
.wc-navbar.navbar-light .navbar-brand:focus{
  color:var(--wc-menu-text, #0f172a)!important;
}
.wc-navbar .nav-link,
.wc-navbar.navbar-light .navbar-nav .nav-link{
  color:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .88)!important;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.45rem .8rem;
  margin:.1rem .05rem;
  transition:background-color .15s ease, color .15s ease;
}
.wc-navbar .nav-link i{
  width:1rem;
  text-align:center;
}
.wc-navbar .nav-link:hover{
  color:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .98)!important;
  background:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .08);
}
.wc-navbar .nav-link.active,
.wc-navbar.navbar-light .navbar-nav .nav-link.active,
.wc-navbar.navbar-light .navbar-nav .show > .nav-link{
  color:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .98)!important;
  background:rgba(var(--wc-primary-rgb),.12);
  border:1px solid rgba(var(--wc-primary-rgb),.18);
}
.wc-navbar .navbar-nav{
  flex-wrap:wrap;
  row-gap:.15rem;
}
.wc-navbar .wc-nav-group-toggle::after{
  margin-left:.45rem;
}
.wc-nav-group-menu{
  min-width:250px;
  border:none;
  border-radius:18px;
  padding:.45rem;
  background:rgba(var(--wc-menu-bg-rgb, 255, 255, 255), .98);
  box-shadow:0 20px 40px rgba(15, 23, 42, .16);
}
.wc-nav-group-menu .dropdown-item{
  display:flex;
  align-items:center;
  border-radius:12px;
  padding:.7rem .85rem;
  font-weight:600;
  color:var(--wc-menu-text, #0f172a);
}
.wc-nav-group-menu .dropdown-item:hover,
.wc-nav-group-menu .dropdown-item:focus{
  background:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .08);
  color:var(--wc-menu-text, #0f172a);
}
.wc-nav-group-menu .dropdown-item.active,
.wc-nav-group-menu .dropdown-item:active{
  background:rgba(var(--wc-primary-rgb), .12);
  color:var(--wc-menu-text, #0f172a);
}
.wc-navbar-user-shell{
  flex:0 0 auto;
}
.wc-navbar .wc-user-menu-toggle,
.wc-navbar .wc-user-menu-toggle.btn{
  width:42px;
  height:42px;
  padding:0;
  border-radius:14px;
  border:1px solid rgba(var(--wc-menu-text-rgb, 15, 23, 42), .16)!important;
  background:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .08)!important;
  color:var(--wc-menu-text, #0f172a)!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none!important;
}
.wc-navbar .wc-user-menu-toggle i,
.wc-navbar .wc-user-menu-toggle .fa-solid,
.wc-navbar .wc-user-menu-toggle .fa-regular,
.wc-navbar .wc-user-menu-toggle .fa{
  color:var(--wc-menu-text, #0f172a)!important;
}
.wc-navbar .wc-user-menu-toggle:hover,
.wc-navbar .wc-user-menu-toggle:focus,
.wc-navbar .wc-user-menu-toggle.show{
  background:rgba(var(--wc-primary-rgb), .14)!important;
  color:var(--wc-menu-text, #0f172a)!important;
  border-color:rgba(var(--wc-primary-rgb), .28)!important;
}
.wc-navbar .wc-user-menu-toggle:hover i,
.wc-navbar .wc-user-menu-toggle:focus i,
.wc-navbar .wc-user-menu-toggle.show i,
.wc-navbar .wc-user-menu-toggle:hover .fa-solid,
.wc-navbar .wc-user-menu-toggle:focus .fa-solid,
.wc-navbar .wc-user-menu-toggle.show .fa-solid,
.wc-navbar .wc-user-menu-toggle:hover .fa-regular,
.wc-navbar .wc-user-menu-toggle:focus .fa-regular,
.wc-navbar .wc-user-menu-toggle.show .fa-regular,
.wc-navbar .wc-user-menu-toggle:hover .fa,
.wc-navbar .wc-user-menu-toggle:focus .fa,
.wc-navbar .wc-user-menu-toggle.show .fa{
  color:var(--wc-menu-text, #0f172a)!important;
}
.wc-user-menu-toggle::after{
  display:none!important;
}
.wc-user-menu{
  min-width:260px;
  border:none;
  border-radius:18px;
  padding:.5rem;
  background:rgba(var(--wc-menu-bg-rgb, 255, 255, 255), .98);
  box-shadow:0 20px 40px rgba(15, 23, 42, .16);
}
.wc-user-menu__header{
  padding:.4rem .55rem;
}
.wc-user-menu__name{
  color:var(--wc-menu-text, #0f172a);
  font-weight:700;
  line-height:1.2;
}
.wc-user-menu__email{
  color:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .72);
  font-size:.9rem;
  margin-top:.15rem;
  word-break:break-word;
}
.wc-user-menu__logout{
  border-radius:12px;
  padding:.65rem .8rem;
  font-weight:600;
  color:var(--wc-menu-text, #0f172a);
}
.wc-user-menu__logout:hover,
.wc-user-menu__logout:focus{
  background:rgba(var(--wc-primary-rgb), .12);
  color:var(--wc-menu-text, #0f172a);
}
.wc-mail-editor-shell{
  border:1px solid var(--wc-border);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  overflow:hidden;
}
.wc-mail-editor-source{
  min-height:420px;
  border:0;
  border-radius:0;
  resize:vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
.wc-mail-editor-source:focus{
  box-shadow:none;
}
.wc-mail-editor-shell .tox.tox-tinymce{
  border:0;
  border-radius:18px;
}
.wc-mail-editor-shell .tox .tox-toolbar,
.wc-mail-editor-shell .tox .tox-toolbar__primary,
.wc-mail-editor-shell .tox .tox-toolbar__overflow{
  background:rgba(var(--wc-primary-rgb), .04);
  border-color:var(--wc-border);
}
.wc-mail-editor-shell .tox .tox-edit-area__iframe{
  background:#fff;
}
.wc-mail-editor-shell .tox .tox-statusbar{
  border-top:1px solid var(--wc-border);
}
.wc-mail-editor-shell .tox .tox-tbtn,
.wc-mail-editor-shell .tox .tox-mbtn{
  border-radius:10px;
}
.wc-mail-editor-shell .tox .tox-tbtn:hover,
.wc-mail-editor-shell .tox .tox-tbtn--enabled,
.wc-mail-editor-shell .tox .tox-mbtn:hover{
  background:rgba(var(--wc-primary-rgb), .12);
}
.wc-mail-editor-shell .tox .tox-edit-area::before{
  border:0;
}
.wc-navbar .navbar-toggler,
.wc-navbar.navbar-light .navbar-toggler{
  border:1px solid var(--wc-border);
  color:var(--wc-menu-text, #0f172a)!important;
}
.wc-navbar.navbar-light .navbar-toggler-icon{
  filter: grayscale(1) brightness(.15);
}

.wc-brand{
  display:flex;
  align-items:center;
  gap:.6rem;
  min-height:42px;
}
.wc-brand--logo-only{
  gap:0;
}
.wc-brand--fallback{
  gap:.6rem;
}
.wc-brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.wc-brand-copy--fallback{
  display:none;
}
.wc-brand--fallback .wc-brand-copy--fallback{
  display:flex;
}
.wc-brand img{
  width:auto;
  height:45px;
  object-fit:contain;
}
.wc-brand__logo{
  display:block;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
.wc-brand__logo--custom{
  width:auto;
  max-width:min(240px, 34vw);
  height:42px;
}
.wc-brand--logo-only .wc-brand-copy{
  display:none;
}
.wc-brand--fallback .wc-brand__logo{
  display:none;
}
.wc-brand-title{
  font-weight:800;
  letter-spacing:.2px;
  line-height:1.05;
  color:var(--wc-menu-text, #0f172a);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.wc-brand-sub{
  color:rgba(var(--wc-menu-text-rgb, 15, 23, 42), .68);
  font-weight:600;
  font-size:.85rem;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

main.wc-main{
  flex:1 1 auto;
  padding-top:1.25rem;
  padding-bottom:2rem;
}

.wc-backbar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0 0 1rem;
}

.wc-card{
  background:var(--wc-card);
  border:1px solid var(--wc-border);
  border-radius:var(--wc-radius);
  box-shadow:var(--wc-shadow-sm);
  overflow:hidden;
}
.card{
  border:1px solid var(--wc-border);
  border-radius:var(--wc-radius);
  box-shadow:var(--wc-shadow-sm);
  overflow:hidden;
}
.card-header{
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.55));
  border-bottom:1px solid var(--wc-border);
  font-weight:900;
  letter-spacing:.12px;
}

.wc-panel{
  border-radius:calc(var(--wc-radius) + 4px);
  background:rgba(255,255,255,.6);
  border:1px solid var(--wc-border-strong);
  box-shadow:var(--wc-shadow);
}

.wc-card-glass{
  background:rgba(255,255,255,.78);
  backdrop-filter:saturate(160%) blur(10px);
}
.wc-card-glass .card-header,
.wc-card-glass .card-footer{
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.62));
}

.btn{
  border-radius:12px;
  font-weight:700;
}
.btn-primary{
  background:var(--wc-grad-strong);
  border:0;
  box-shadow:0 10px 18px rgba(var(--wc-primary-rgb),.18);
}
.btn-primary:hover{
  filter:brightness(.98);
}
.btn-outline-dark{
  background:rgba(15,23,42,.08);
  border-color:rgba(15,23,42,.20);
  color:#0f172a;
}
.btn-outline-dark:hover{
  background:rgba(15,23,42,.14);
  color:#0f172a;
}
.btn-outline-primary{
  background:rgba(var(--wc-primary-rgb),.14);
  border-color:rgba(var(--wc-primary-rgb),.28);
  color:var(--wc-primary);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background:rgba(var(--wc-primary-rgb),.22);
  border-color:rgba(var(--wc-primary-rgb),.36);
  color:var(--wc-primary-ink);
}
.btn-outline-secondary{
  background:rgba(100,116,139,.10);
  border-color:rgba(100,116,139,.24);
  color:#475569;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
  background:rgba(100,116,139,.18);
  border-color:rgba(100,116,139,.32);
  color:#334155;
}
.btn-outline-success{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.28);
  color:#15803d;
}
.btn-outline-success:hover,
.btn-outline-success:focus{
  background:rgba(34,197,94,.18);
  border-color:rgba(34,197,94,.36);
  color:#166534;
}
.btn-outline-danger{
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.28);
  color:#b91c1c;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus{
  background:rgba(239,68,68,.18);
  border-color:rgba(239,68,68,.36);
  color:#991b1b;
}

.form-control, .form-select{
  border-radius:12px;
  border-color:rgba(15,23,42,.12);
  background:rgba(255,255,255,.92);
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.form-control:focus, .form-select:focus{
  border-color:rgba(var(--wc-primary-rgb),.55);
  box-shadow:0 0 0 .25rem rgba(var(--wc-primary-rgb),.18);
}
.form-label{
  color:rgba(15,23,42,.82);
  font-weight:800;
  letter-spacing:.1px;
}
.form-text{
  color:rgba(100,116,139,.95);
  font-weight:600;
}
.form-check-input{
  border-color:rgba(15,23,42,.18);
}
.form-check-input:checked{
  background-color:var(--wc-primary);
  border-color:rgba(var(--wc-primary-rgb),.55);
}
.form-check-input:focus{
  box-shadow:0 0 0 .25rem rgba(var(--wc-primary-rgb),.18);
}

.wc-section{
  border:1px solid var(--wc-border);
  border-radius:var(--wc-radius);
  background:rgba(255,255,255,.55);
  box-shadow:var(--wc-shadow-sm);
}
.wc-section-head{
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--wc-border);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.55));
  font-weight:900;
  letter-spacing:.12px;
}
.wc-section-body{
  padding:1rem 1.1rem;
}

.table{
  --bs-table-bg:transparent;
}
.table thead th{
  color:rgba(15,23,42,.72);
  font-weight:800;
  letter-spacing:.2px;
}
.table-hover>tbody>tr:hover>*{
  background:rgba(var(--wc-primary-rgb),.06);
}

.alert{
  border-radius:14px;
  border:1px solid var(--wc-border);
  box-shadow:0 10px 20px rgba(2, 6, 23, .06);
}

.badge{
  border-radius:999px;
  font-weight:800;
  letter-spacing:.15px;
}

.wc-auth-wrap{
  max-width:1040px;
  margin:0 auto;
}
.wc-main--auth{
  padding-top:2.2rem;
}
.wc-auth-hero{
  border-radius:calc(var(--wc-radius) + 6px);
  background:var(--wc-grad);
  border:1px solid var(--wc-border);
  box-shadow:var(--wc-shadow);
  overflow:hidden;
  position:relative;
}
.wc-auth-hero .wc-hero-inner{
  padding:2.25rem;
}
.wc-auth-hero h1, .wc-auth-hero h2{
  font-weight:900;
  letter-spacing:-.2px;
}
.wc-auth-hero p{
  color:rgba(15,23,42,.72);
  font-weight:600;
}
.wc-auth-hero img{
  width:100%;
  height:auto;
}
.wc-auth-brand-mark{
  display:block;
  width:34px;
  height:34px;
  object-fit:contain;
  flex:0 0 auto;
}
.wc-auth-brand-mark--logo{
  width:auto;
  max-width:250px;
  height:42px;
}
.wc-auth-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.wc-auth-company-note{
  color:rgba(100,116,139,.95);
  font-weight:600;
  font-size:.82rem;
  line-height:1.45;
}

.wc-client-avatar{
  width:58px;
  height:58px;
  border-radius:18px;
  border:1px solid var(--wc-border);
  background:var(--wc-grad);
  color:var(--wc-primary-ink);
  box-shadow:var(--wc-shadow-sm);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-weight:900;
  letter-spacing:.6px;
  flex:0 0 auto;
}

.wc-client-avatar--lg{
  width:108px;
  height:108px;
  border-radius:24px;
  font-size:1.6rem;
}

.wc-client-avatar--hero{
  width:72px;
  height:72px;
  border-radius:22px;
  font-size:1.9rem;
}

.wc-client-avatar--image{
  background:rgba(255,255,255,.92);
}

.wc-client-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.wc-client-shell{
  scroll-behavior:smooth;
}

.wc-client-form-shell .wc-panel{
  background:rgba(255,255,255,.54);
}

.wc-client-hero{
  overflow:hidden;
}

.wc-client-hero__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.wc-client-hero__identity{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
}

.wc-client-hero__text{
  min-width:min(100%, 640px);
}

.wc-client-contact-list{
  display:flex;
  align-items:stretch;
  gap:1.1rem;
  flex-wrap:wrap;
}

.wc-client-contact{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  min-width:170px;
  color:var(--wc-text);
}

.wc-client-contact > i{
  margin-top:.2rem;
  color:var(--wc-muted);
}

.wc-client-contact__value{
  font-weight:800;
  line-height:1.1;
}

.wc-client-contact__label{
  color:var(--wc-muted);
  font-size:.82rem;
  font-weight:700;
  margin-top:.18rem;
}

.wc-client-tabs{
  display:flex;
  align-items:center;
  gap:1.1rem;
  flex-wrap:wrap;
  padding-top:.3rem;
  border-top:1px solid var(--wc-border);
}

.wc-client-tabs__link{
  position:relative;
  padding:.35rem 0;
  text-decoration:none;
  color:var(--wc-muted);
  font-size:.92rem;
  font-weight:800;
}

.wc-client-tabs__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:100%;
  height:2px;
  border-radius:999px;
  background:transparent;
  transition:background-color .16s ease;
}

.wc-client-tabs__link:hover,
.wc-client-tabs__link.is-active{
  color:var(--wc-primary);
}

.wc-client-tabs__link:hover::after,
.wc-client-tabs__link.is-active::after{
  background:var(--wc-primary);
}

.wc-kpi-card{
  height:100%;
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1rem 1.05rem;
  border-radius:18px;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.78);
  box-shadow:var(--wc-shadow-sm);
}

.wc-kpi-card__icon{
  width:46px;
  height:46px;
  border-radius:14px;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--wc-primary);
  background:rgba(var(--wc-primary-rgb),.10);
  border:1px solid rgba(var(--wc-primary-rgb),.12);
  font-size:1.05rem;
}

.wc-kpi-card__body{
  min-width:0;
  flex:1 1 auto;
}

.wc-kpi-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
}

.wc-kpi-card__label{
  color:var(--wc-muted);
  font-size:.84rem;
  font-weight:800;
}

.wc-kpi-card__value{
  font-size:2rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.4px;
  color:var(--wc-text);
  margin-top:.15rem;
}

.wc-kpi-card__value--title{
  font-size:1.35rem;
  line-height:1.15;
}

.wc-kpi-card__text{
  margin-top:.32rem;
  color:var(--wc-muted);
  font-size:.86rem;
  font-weight:700;
  line-height:1.35;
}

.wc-kpi-card__badge{
  display:inline-flex;
  align-items:center;
  padding:.22rem .55rem;
  border-radius:999px;
  border:1px solid var(--wc-border);
  background:rgba(100,116,139,.12);
  color:#475569;
  font-size:.72rem;
  font-weight:900;
}

.wc-kpi-card__badge--ok{
  background:rgba(var(--wc-primary-rgb),.10);
  border-color:rgba(var(--wc-primary-rgb),.18);
  color:#0f766e;
}

.wc-kpi-card__badge--warning{
  background:rgba(245,158,11,.12);
  border-color:rgba(245,158,11,.18);
  color:#b45309;
}

.wc-kpi-card__badge--danger{
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.18);
  color:#b91c1c;
}

.wc-empty-state{
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:1rem;
}

.wc-empty-state__icon{
  width:66px;
  height:66px;
  margin-bottom:1rem;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(100,116,139,.9);
  background:rgba(148,163,184,.10);
  font-size:1.8rem;
}

.wc-empty-state__title,
.wc-empty-mini__title{
  font-weight:900;
  color:var(--wc-text);
}

.wc-empty-state__text,
.wc-empty-mini__text{
  color:var(--wc-muted);
  font-weight:600;
  line-height:1.45;
  max-width:420px;
  margin:.45rem auto 1rem;
}

.wc-empty-mini{
  text-align:center;
  padding:.6rem .2rem;
}

.wc-detail-item{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  height:100%;
  padding:.85rem .95rem;
  border-radius:14px;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.58);
}

.wc-detail-item > span{
  color:var(--wc-muted);
  font-size:.8rem;
  font-weight:800;
}

.wc-detail-item > strong{
  color:var(--wc-text);
  font-size:.96rem;
  font-weight:800;
}

.wc-file-list{
  display:flex;
  flex-direction:column;
  gap:.7rem;
}

.wc-file-list__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  flex-wrap:wrap;
  padding:.75rem .85rem;
  border-radius:14px;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.55);
}

.wc-file-list__name{
  font-weight:800;
  color:var(--wc-text);
  line-height:1.25;
}

.wc-file-list__date{
  color:var(--wc-muted);
  font-size:.8rem;
  font-weight:700;
}

.wc-kpi{
  border-radius:var(--wc-radius);
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.7);
  box-shadow:var(--wc-shadow-sm);
}
.wc-kpi .wc-kpi-title{
  color:var(--wc-muted);
  font-weight:700;
  font-size:.85rem;
}
.wc-kpi .wc-kpi-value{
  font-weight:900;
  letter-spacing:-.3px;
}

.wc-dashboard-stat,
.wc-dashboard-money,
.wc-dashboard-mini{
  height:100%;
  border-radius:16px;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.58);
  box-shadow:var(--wc-shadow-sm);
  padding:1rem 1.05rem;
}

.wc-dashboard-stat__label,
.wc-dashboard-money__label,
.wc-dashboard-mini__label{
  color:var(--wc-muted);
  font-size:.84rem;
  font-weight:800;
}

.wc-dashboard-stat__value,
.wc-dashboard-money__value,
.wc-dashboard-mini__value{
  margin-top:.18rem;
  color:var(--wc-text);
  font-weight:900;
  letter-spacing:-.4px;
  line-height:1.05;
}

.wc-dashboard-stat__value,
.wc-dashboard-mini__value{
  font-size:2rem;
}

.wc-dashboard-money__value{
  font-size:1.65rem;
}

.wc-dashboard-stat__meta,
.wc-dashboard-money__meta{
  margin-top:.4rem;
  color:var(--wc-muted);
  font-size:.84rem;
  font-weight:700;
  line-height:1.4;
}

.wc-footer-note{
  color:rgba(100,116,139,.9);
  font-weight:600;
  font-size:.85rem;
}

.wc-company-banner{
  margin-bottom:1rem;
  padding:.7rem .95rem;
  border:1px solid var(--wc-border);
  border-radius:14px;
  background:rgba(255,255,255,.66);
  color:var(--wc-muted);
  font-weight:700;
  font-size:.82rem;
}

.wc-footer{
  padding:0 0 1rem;
}

.wc-footer-company{
  padding:.8rem 1rem;
  border:1px solid var(--wc-border);
  border-radius:14px;
  background:rgba(255,255,255,.66);
  color:var(--wc-muted);
  font-weight:700;
  font-size:.82rem;
  text-align:center;
  box-shadow:var(--wc-shadow-sm);
}

.wc-loading-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  background:rgba(15,23,42,.18);
  backdrop-filter:saturate(140%) blur(6px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, visibility .16s ease;
}

.wc-loading-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.wc-loading-card{
  min-width:min(92vw, 320px);
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:1rem 1.1rem;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 45px rgba(2, 6, 23, .18);
}

.wc-loading-spinner{
  width:22px;
  height:22px;
  border-radius:999px;
  border:3px solid rgba(var(--wc-primary-rgb),.18);
  border-top-color:var(--wc-primary);
  animation:wc-spin .72s linear infinite;
  flex:0 0 auto;
}

.wc-loading-title{
  font-weight:900;
  letter-spacing:-.2px;
  line-height:1.1;
}

.wc-loading-text{
  color:var(--wc-muted);
  font-size:.9rem;
  font-weight:700;
  line-height:1.2;
}

.btn.is-loading,
.btn:disabled.is-loading{
  opacity:.9;
  cursor:wait;
}

.btn.is-loading::before{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  margin-right:.5rem;
  border-radius:999px;
  border:2px solid currentColor;
  border-right-color:transparent;
  animation:wc-spin .72s linear infinite;
  vertical-align:-2px;
}

body.wc-loading-active{
  overflow:hidden;
}

@keyframes wc-spin{
  to{ transform:rotate(360deg); }
}

.wc-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.wc-title{
  font-weight:900;
  letter-spacing:-.3px;
}

.wc-subtitle{
  color:var(--wc-muted);
  font-weight:700;
  font-size:.9rem;
}

.wc-divider{
  height:1px;
  background:var(--wc-border);
  margin:1rem 0;
}

.wc-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.65);
  font-weight:800;
  font-size:.85rem;
  color:rgba(15,23,42,.78);
}

.wc-status{
  display:inline-flex;
  align-items:center;
  padding:.28rem .6rem;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.12px;
  font-size:.78rem;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.55);
}
.wc-status--active{ color:#0f766e; background:rgba(var(--wc-primary-rgb),.12); border-color:rgba(var(--wc-primary-rgb),.20); }
.wc-status--suspended{ color:#7c2d12; background:rgba(249,115,22,.12); border-color:rgba(249,115,22,.20); }
.wc-status--expired{ color:#1f2937; background:rgba(100,116,139,.16); border-color:rgba(100,116,139,.22); }
.wc-status--delinquent{ color:#991b1b; background:rgba(239,68,68,.12); border-color:rgba(239,68,68,.22); }

.list-group-item{
  border-color:var(--wc-border);
}
.list-group{
  border-radius:var(--wc-radius);
  overflow:hidden;
}

.table-responsive{
  -webkit-overflow-scrolling:touch;
}

@media (max-width: 992px){
  main.wc-main{
    padding-top:1rem;
    padding-bottom:1.5rem;
  }
  .wc-main--auth{
    padding-top:1rem;
  }
  .wc-navbar .navbar-collapse{
    gap:.5rem;
  }
  .wc-navbar .nav-link{
    padding:.7rem .9rem;
  }
  .wc-navbar-user-shell{
    width:100%;
    justify-content:flex-end;
    padding-top:.25rem;
  }
  .wc-user-menu{
    min-width:min(100%, 320px);
  }
  .wc-nav-group-menu{
    min-width:100%;
  }
  .wc-mail-editor-source{
    min-height:300px;
  }
  .wc-client-hero__text{
    min-width:100%;
  }
  .wc-client-tabs{
    gap:.8rem;
  }
  .wc-client-contact{
    min-width:100%;
  }
  .wc-kpi-card{
    padding:.95rem 1rem;
  }
  .btn{
    min-height:44px;
  }
  .btn.btn-sm{
    min-height:40px;
  }
  .form-control, .form-select{
    min-height:44px;
    font-size:1rem;
  }
  .card-header{
    padding:.85rem 1rem;
  }
  .table> :not(caption)>*>*{
    padding:.75rem .75rem;
  }
}

@media (pointer: coarse){
  .nav-link{
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .dropdown-item{
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .form-check-input{
    width:1.25em;
    height:1.25em;
  }
}

@media (max-width: 576px){
  .wc-brand-title{
    font-size:1rem;
  }
  .wc-brand-sub{
    font-size:.78rem;
  }
  .wc-subtitle{
    font-size:.88rem;
  }
}

.fc{
  --fc-border-color: rgba(15,23,42,.10);
  --fc-page-bg-color: transparent;
  --fc-today-bg-color: rgba(var(--wc-primary-rgb),.08);
  --fc-now-indicator-color: rgba(var(--wc-accent-rgb),.55);
  --fc-neutral-bg-color: rgba(255,255,255,.45);
  --fc-small-font-size: .86rem;
}

.fc .fc-toolbar-title{
  font-weight:900;
  letter-spacing:-.4px;
  color:var(--wc-ink);
}

.fc .fc-button{
  border-radius:12px;
  font-weight:800;
}
.fc .fc-button-primary{
  background:var(--wc-grad-strong);
  border:0;
}
.fc .fc-button-primary:not(:disabled):hover{
  filter:brightness(.98);
}
.fc .fc-button-primary:disabled{
  opacity:.55;
}
.fc .fc-button-primary:focus{
  box-shadow:0 0 0 .25rem rgba(var(--wc-primary-rgb),.18);
}
.fc .fc-button-primary:not(:disabled).fc-button-active{
  filter:brightness(.97);
  box-shadow:0 10px 18px rgba(var(--wc-accent-rgb),.14);
}

.fc .fc-scrollgrid{
  border-radius:var(--wc-radius);
  overflow:hidden;
  border:1px solid var(--wc-border);
}

.fc .fc-event{
  border-radius:12px;
  border:0;
  box-shadow:0 10px 20px rgba(2, 6, 23, .08);
}
.fc .fc-event .fc-event-main{
  color:rgba(15,23,42,.92);
}
.wc-brand-preview{
  display:flex;
  gap:1rem;
  align-items:center;
  padding:1rem;
  border:1px dashed var(--wc-border-strong);
  border-radius:14px;
  background:rgba(255,255,255,.7);
  overflow:hidden;
}
.wc-brand-preview__logo{
  width:180px;
  max-width:180px;
  flex:0 0 180px;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.78));
  border:1px solid var(--wc-border);
  overflow:hidden;
  padding:.75rem;
}
.wc-brand-preview__logo img{
  width:auto;
  max-width:160px;
  max-height:64px;
  object-fit:contain;
  display:block;
}
.wc-color-chip{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.45rem .75rem;
  border-radius:999px;
  border:1px solid var(--wc-border);
  background:rgba(255,255,255,.88);
  font-size:.85rem;
  font-weight:800;
}
.wc-color-chip__swatch{
  width:16px;
  height:16px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  flex:0 0 auto;
}
.wc-company-preview{
  padding:1rem;
  border:1px dashed var(--wc-border-strong);
  border-radius:14px;
  background:rgba(255,255,255,.7);
}
.wc-theme-help{
  padding:1rem;
  border:1px dashed var(--wc-border-strong);
  border-radius:14px;
  background:rgba(255,255,255,.72);
}
.wc-theme-preview{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--wc-border);
  min-height:220px;
  padding:1.2rem;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  box-shadow:var(--wc-shadow-sm);
}
.wc-theme-preview::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(420px 220px at 18% 18%, rgba(var(--preview-primary-rgb, var(--wc-primary-rgb)),.18), transparent 60%),
    radial-gradient(420px 220px at 82% 22%, rgba(var(--preview-secondary-rgb, var(--wc-accent-rgb)),.16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.06));
}
.wc-theme-preview__menu{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
  padding:.7rem .85rem;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.66);
  box-shadow:0 10px 24px rgba(2, 6, 23, .08);
}
.wc-theme-preview__menu-brand{
  font-weight:900;
  margin-right:.25rem;
}
.wc-theme-preview__menu-link{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.38rem .72rem;
  border-radius:999px;
  font-size:.84rem;
  font-weight:800;
  background:rgba(var(--preview-menu-text-rgb, 15, 23, 42), .08);
  color:inherit;
}
.wc-theme-preview__menu-link--active{
  background:rgba(var(--preview-primary-rgb, var(--wc-primary-rgb)), .14);
  color:var(--preview-primary, var(--wc-primary));
  border:1px solid rgba(var(--preview-primary-rgb, var(--wc-primary-rgb)), .22);
}
.wc-theme-preview__card{
  position:relative;
  z-index:1;
  max-width:420px;
  padding:1rem 1.1rem;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 12px 30px rgba(2, 6, 23, .12);
}
.wc-theme-preview__title{
  font-weight:900;
  letter-spacing:-.2px;
  margin-bottom:.25rem;
}
.wc-theme-preview__text{
  color:var(--wc-muted);
  font-weight:700;
  font-size:.9rem;
  margin-bottom:.9rem;
}
.wc-theme-preview__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:.45rem .75rem;
  border-radius:999px;
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  background:var(--preview-secondary, var(--wc-accent));
  box-shadow:0 10px 18px rgba(var(--preview-secondary-rgb, var(--wc-accent-rgb)),.18);
}
.wc-theme-preview .btn-primary{
  background:linear-gradient(135deg, var(--preview-primary, var(--wc-primary)), var(--preview-secondary, var(--wc-accent)));
  border:0;
  box-shadow:0 10px 18px rgba(var(--preview-primary-rgb, var(--wc-primary-rgb)),.18);
}
.wc-fc-event{
  padding:2px 6px;
}
.wc-fc-title{
  font-weight:900;
  line-height:1.1;
}
.wc-fc-meta{
  margin-top:2px;
  font-weight:800;
  font-size:.78rem;
  color:rgba(15,23,42,.70);
}

.fc .fc-timegrid-slot{
  height:3.25em;
}
.fc .fc-timegrid-event .fc-event-main{
  overflow:hidden;
}
.fc .fc-timegrid-event{
  overflow:hidden;
}
.fc .fc-timegrid-event .wc-fc-title{
  font-size:.92rem;
  display:-webkit-box;
  line-clamp:2;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.fc .fc-timegrid-event .wc-fc-meta{
  font-size:.74rem;
  display:-webkit-box;
  line-clamp:2;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
@media (max-width: 992px){
  .wc-brand-preview{
    flex-direction:column;
    align-items:flex-start;
  }
  .wc-brand-preview__logo{
    width:100%;
  }
  .fc .fc-timegrid-slot{
    height:3.75em;
  }
  .fc .fc-toolbar{
    flex-wrap:wrap;
    gap:.5rem;
  }
  .fc .fc-toolbar-chunk{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
  }
  .fc .fc-button{
    min-height:40px;
    padding:.45rem .75rem;
  }
}
