/* Bitwise Desk — Corporate UI (Zendesk/Freshdesk vibe) */

@font-face{
  font-family:'Inter';
  src:url('../fonts/inter/inter-400.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face{
  font-family:'Inter';
  src:url('../fonts/inter/inter-600.ttf') format('truetype');
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

@font-face{
  font-family:'Inter';
  src:url('../fonts/inter/inter-700.ttf') format('truetype');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

@font-face{
  font-family:'Inter';
  src:url('../fonts/inter/inter-800.ttf') format('truetype');
  font-style:normal;
  font-weight:800;
  font-display:swap;
}

@font-face{
  font-family:'Inter';
  src:url('../fonts/inter/inter-900.ttf') format('truetype');
  font-style:normal;
  font-weight:900;
  font-display:swap;
}

:root{
  --bw-bg: #f6f8fb;
  --bw-card: #ffffff;
  --bw-border: #e6eaf2;
  --bw-text: #0f172a;
  --bw-muted: #64748b;

  --bw-primary: #1d4ed8;
  --bw-primary-2: #2563eb;
  --bw-success: #16a34a;
  --bw-warning: #d97706;
  --bw-danger: #dc2626;

  --bw-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  --bw-shadow-soft: 0 4px 12px rgba(15, 23, 42, 0.05);

  --bw-radius: 12px;
  --bw-radius-sm: 8px;

  --bw-focus: 0 0 0 .25rem rgba(29, 78, 216, .18);
}

.bw-body[data-theme="dark"]{
  --bw-bg: #0b1220;
  --bw-card: #0f172a;
  --bw-border: rgba(255,255,255,0.10);
  --bw-text: #e5e7eb;
  --bw-muted: rgba(229,231,235,0.70);

  --bw-shadow: 0 10px 25px rgba(0,0,0,0.35);
  --bw-shadow-soft: 0 6px 16px rgba(0,0,0,0.28);

  --bw-focus: 0 0 0 .25rem rgba(59, 130, 246, .22);
}

html, body { height: 100%; }

.bw-body{
  background: radial-gradient(1200px 600px at 15% -10%, rgba(29,78,216,.10), transparent 60%),
              radial-gradient(1000px 600px at 85% 0%, rgba(14,165,233,.10), transparent 60%),
              var(--bw-bg);
  color: var(--bw-text);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.35;
}

a { text-decoration: none; }
.text-muted { color: var(--bw-muted) !important; }

.bw-main{
  margin-left: 220px;
  min-height: 100vh;
}

.bw-main--auth{ margin-left: 0; }
.bw-toast-stack{
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1080;
  display:flex;
  flex-direction:column;
  gap: 10px;
  width: min(380px, calc(100vw - 24px));
}

.bw-toast{
  display:grid;
  grid-template-columns: 42px minmax(0,1fr) 34px;
  gap: 10px;
  align-items:flex-start;
  padding: 12px 12px 12px 10px;
  border-radius: 18px;
  border: 1px solid var(--bw-border);
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 46px rgba(15,23,42,.14);
  backdrop-filter: blur(16px);
  opacity: 1;
  transform: translateY(0);
  transition: opacity .18s ease, transform .18s ease;
}

.bw-body[data-theme="dark"] .bw-toast{
  background: rgba(15,23,42,.96);
  box-shadow: 0 18px 46px rgba(0,0,0,.35);
}

.bw-toast.is-closing{
  opacity: 0;
  transform: translateY(-6px);
}

.bw-toast__icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 1rem;
}

.bw-toast__title{
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.bw-toast__text{
  margin-top: 2px;
  font-size: .88rem;
  line-height: 1.45;
}

.bw-toast__close{
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--bw-muted);
}

.bw-toast__close:hover{
  background: rgba(148,163,184,.12);
  color: var(--bw-text);
}

.bw-toast--success{
  border-color: rgba(16,185,129,.24);
}

.bw-toast--success .bw-toast__icon{
  background: rgba(16,185,129,.12);
  color: #059669;
}

.bw-toast--success .bw-toast__title{
  color: #047857;
}

.bw-toast--error{
  border-color: rgba(239,68,68,.24);
}

.bw-toast--error .bw-toast__icon{
  background: rgba(239,68,68,.12);
  color: #dc2626;
}

.bw-toast--error .bw-toast__title{
  color: #b91c1c;
}

.bw-body[data-theme="dark"] .bw-toast--success .bw-toast__title{
  color: #6ee7b7;
}

.bw-body[data-theme="dark"] .bw-toast--error .bw-toast__title{
  color: #fca5a5;
}

.bw-content{ padding-top: 12px; }

.bw-sidebar{
  position: fixed;
  inset: 0 auto 0 0;
  width: 220px;
  background: linear-gradient(180deg, #0b1220, #070c16);
  color: #e5e7eb;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255,255,255,0.06);
  z-index: 1040;
}

.bw-sidebar__brand{
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 12px 12px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.bw-sidebar__logo{
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: transparent;
  box-shadow: none;
  overflow:hidden;
}

.bw-sidebar__logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.bw-sidebar__brandname{
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1.1;
  font-size: .94rem;
}

.bw-sidebar__brandtag{
  font-size: .68rem;
  color: rgba(229,231,235,0.70);
}

.bw-nav{
  padding: 8px;
  display:flex;
  flex-direction: column;
  gap: 4px;
  overflow: auto;
}

.bw-nav__section{
  margin: 8px 6px 1px;
  font-size: .62rem;
  color: rgba(229,231,235,0.65);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.bw-nav__item{
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 8px 9px;
  border-radius: 9px;
  color: rgba(229,231,235,0.88);
  transition: all .15s ease;
  border: 1px solid transparent;
  font-size: .82rem;
  position:relative;
}

.bw-nav__item i{
  font-size: .88rem;
  opacity: .95;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.02);
  transition: all .15s ease;
}

.bw-nav__item:hover{
  background: rgba(255,255,255,0.06);
  color: #fff;
}

.bw-nav__item:hover i{
  background: rgba(255,255,255,0.08);
}

.bw-nav__item.is-active{
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.22), rgba(14,165,233,0.10));
  border-color: rgba(59, 130, 246, 0.42);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}

.bw-nav__item.is-active::before{
  content:"";
  position:absolute;
  left:-8px;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:999px;
  background: linear-gradient(180deg, #60a5fa, #22d3ee);
}

.bw-nav__item.is-active i{
  background: rgba(255,255,255,0.14);
  color:#fff;
  box-shadow: 0 10px 20px rgba(15,23,42,.18);
}

.bw-sidebar__footer{
  margin-top:auto;
  padding: 10px 12px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.bw-sidebar__hint{
  font-size: .7rem;
  color: rgba(229,231,235,0.75);
}

.bw-topbar{
  position: sticky;
  top: 0;
  z-index: 1030;
  background: rgba(246, 248, 251, 0.82);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bw-border);
  padding: 6px 10px;
  display:grid;
  grid-template-columns: auto minmax(240px, 520px) auto;
  align-items:center;
  gap: 12px;
}

.bw-body[data-theme="dark"] .bw-topbar{
  background: rgba(11, 18, 32, 0.72);
}

.bw-topbar__left{
  display:flex;
  align-items:center;
  gap: 8px;
  min-width: 0;
}

.bw-topbar__center{
  min-width: 0;
}

.bw-topbar__right{
  display:flex;
  align-items:center;
  gap: 8px;
  justify-content:flex-end;
}

.bw-icon-btn{
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: 9px;
  box-shadow: var(--bw-shadow-soft);
  min-width: 34px;
  min-height: 34px;
  color: var(--bw-muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.bw-icon-btn:hover{
  color: var(--bw-text);
  border-color: rgba(37,99,235,.22);
  box-shadow: var(--bw-shadow);
}

.bw-body[data-theme="dark"] .bw-icon-btn{
  color: rgba(226,232,240,.88);
  background: rgba(15,23,42,.92);
  border-color: rgba(148,163,184,.18);
}

.bw-body[data-theme="dark"] .bw-icon-btn:hover{
  color: #ffffff;
  background: rgba(30,41,59,.96);
}

.bw-breadcrumb{
  display:flex;
  align-items:center;
  gap: 6px;
  font-size: .78rem;
  color: var(--bw-muted);
  white-space: nowrap;
}

.bw-breadcrumb__app{
  font-weight: 800;
  color: var(--bw-text);
}

.bw-breadcrumb__sep{ opacity: .7; }

.bw-searchbar{
  position: relative;
  display:flex;
  align-items:center;
  width: 100%;
  z-index: 20;
}

.bw-searchbar__icon{
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bw-muted);
  z-index: 2;
}

.bw-searchbar__input{
  border-radius: 12px !important;
  padding-left: 33px !important;
  padding-right: 96px !important;
  min-height: 36px;
  box-shadow: var(--bw-shadow-soft);
  font-size: .9rem;
}

.bw-searchbar__hint{
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: .66rem;
  color: var(--bw-muted);
  padding: 4px 7px;
  border: 1px solid var(--bw-border);
  border-radius: 999px;
  background: var(--bw-card);
  line-height: 1;
}

.bw-userchip{
  display:flex;
  align-items:center;
  gap: 7px;
  padding: 5px 10px 5px 6px;
  border: 1px solid var(--bw-border);
  border-radius: 999px;
  background: var(--bw-card);
  box-shadow: var(--bw-shadow-soft);
  color: var(--bw-text);
}

.bw-userchip__avatar{
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(29,78,216,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--bw-primary);
  overflow:hidden;
  flex: 0 0 auto;
}

.bw-userchip--button{
  border: 1px solid var(--bw-border);
  cursor:pointer;
}

.bw-userchip--button:hover{
  border-color: rgba(37,99,235,.22);
  box-shadow: var(--bw-shadow);
}

.bw-userchip--button::after{
  display:none;
}

.bw-userchip__avatar img,
.bw-mobile-userpill__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bw-userchip__avatar span,
.bw-mobile-userpill__avatar span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.02em;
}

.bw-userchip__caret{
  color: var(--bw-muted);
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  flex:0 0 auto;
  font-size:.76rem;
}

.bw-accountmenu{
  min-width: 320px;
  padding: 10px;
  border: 1px solid var(--bw-border);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(15,23,42,.14);
  background: rgba(255,255,255,.98);
}

.bw-body[data-theme="dark"] .bw-accountmenu{
  background: rgba(15,23,42,.98);
  box-shadow: 0 18px 42px rgba(0,0,0,.34);
}

.bw-accountmenu__head{
  display:grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 10px;
  align-items:center;
  padding: 4px 4px 10px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--bw-border);
}

.bw-accountmenu__avatar{
  width: 48px;
  height: 48px;
  border-radius: 999px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(145deg, rgba(37,99,235,.12), rgba(14,165,233,.12));
  color: var(--bw-primary);
  font-weight: 900;
}

.bw-accountmenu__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.bw-accountmenu__name{
  font-weight: 900;
  line-height: 1.1;
}

.bw-accountmenu__email{
  margin-top: 3px;
  font-size: .76rem;
  color: var(--bw-muted);
  word-break: break-word;
}

.bw-accountmenu__role{
  margin-top: 5px;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--bw-muted);
}

.bw-accountmenu__item{
  display:flex;
  align-items:center;
  gap: 10px;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: .84rem;
  font-weight: 800;
  color: var(--bw-text);
}

.bw-accountmenu__item i{
  width: 18px;
  text-align:center;
  color: var(--bw-primary);
}

.bw-accountmenu__item:hover,
.bw-accountmenu__item:focus{
  background: rgba(37,99,235,.08);
  color: var(--bw-text);
}

.bw-accountmenu__item--danger i{
  color: #dc2626;
}

.bw-accountmenu__item--danger:hover,
.bw-accountmenu__item--danger:focus{
  background: rgba(239,68,68,.08);
}

.bw-accountmenu__form{
  margin:0;
}

.bw-userchip__name{
  font-weight: 800;
  font-size: .8rem;
  line-height: 1.1;
}

.bw-userchip__role{
  font-size: .62rem;
  color: var(--bw-muted);
  line-height: 1.1;
}

.bw-alert{
  border: 1px solid var(--bw-border);
  border-radius: var(--bw-radius);
  box-shadow: var(--bw-shadow-soft);
  display:flex;
  align-items:flex-start;
  gap: 10px;
}

.bw-alert--success{
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #065f46;
}
.bw-body[data-theme="dark"] .bw-alert--success{
  background: rgba(16,185,129,.10);
  border-color: rgba(16,185,129,.25);
  color: #d1fae5;
}

.bw-alert--error{
  background: #fff1f2;
  border-color: #fecdd3;
  color: #9f1239;
}
.bw-body[data-theme="dark"] .bw-alert--error{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.25);
  color: #fee2e2;
}

.card{
  border-radius: 8px !important;
  border-color: var(--bw-border) !important;
}

.card.border-0.shadow-sm{
  box-shadow: var(--bw-shadow-soft) !important;
  background: var(--bw-card);
}

.table{ margin-bottom: 0; }

.table thead th{
  font-size: .74rem;
  color: #475569;
  letter-spacing: .01em;
  border-color: var(--bw-border);
}
.bw-body[data-theme="dark"] .table thead th{ color: rgba(229,231,235,.75); }

.table tbody td{
  vertical-align: middle;
  border-color: var(--bw-border);
  font-size: .84rem;
}

.table-hover tbody tr:hover{
  background: rgba(29,78,216,.045);
}
.bw-body[data-theme="dark"] .table-hover tbody tr:hover{
  background: rgba(59,130,246,.08);
}

.btn{
  border-radius: 7px;
  font-weight: 700;
  font-size: .84rem;
  padding: .38rem .72rem;
}

.btn-sm{
  border-radius: 6px;
  padding: .26rem .52rem;
  font-size: .74rem;
}

.btn-primary{
  background: var(--bw-primary) !important;
  border-color: var(--bw-primary) !important;
}
.btn-primary:hover{
  background: var(--bw-primary-2) !important;
  border-color: var(--bw-primary-2) !important;
}

.btn-outline-secondary{
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
.bw-body[data-theme="dark"] .btn-outline-secondary{
  border-color: rgba(255,255,255,0.18) !important;
  color: rgba(229,231,235,.85) !important;
}
.btn-outline-secondary:hover{
  background: rgba(148,163,184,.15) !important;
}

.form-control, .form-select{
  border-radius: 7px;
  border-color: var(--bw-border);
  background: var(--bw-card);
  color: var(--bw-text);
  font-size: .86rem;
}
.form-control::placeholder{ color: rgba(100,116,139,.8); }
.bw-body[data-theme="dark"] .form-control::placeholder{ color: rgba(229,231,235,.45); }

.form-control:focus, .form-select:focus{
  border-color: rgba(29,78,216,.55);
  box-shadow: var(--bw-focus);
}

.badge{
  border-radius: 4px;
  padding: .22rem .42rem;
  font-weight: 800;
  font-size: .64rem;
  letter-spacing: .01em;
}

.kpi{
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: var(--bw-radius-sm);
  padding: 10px 11px;
  box-shadow: var(--bw-shadow-soft);
}

.kpi-label{ color: var(--bw-muted); font-size: .75rem; }
.kpi-value{ font-weight: 900; font-size: 1.18rem; }

.thread{
  display:flex;
  flex-direction: column;
  gap: 12px;
}

.thread-msg{
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: var(--bw-radius);
  padding: 14px;
  box-shadow: var(--bw-shadow-soft);
}

.thread-msg.internal{
  border-color: rgba(245,158,11,.35);
  background: rgba(245,158,11,.10);
}

.kanban{
  display:grid;
  grid-template-columns: repeat(6, minmax(260px, 1fr));
  gap: 12px;
  overflow:auto;
  padding-bottom: 6px;
}

.kanban-col{
  border: 1px solid var(--bw-border);
  background: rgba(255,255,255,.6);
  border-radius: var(--bw-radius);
  padding: 8px;
  min-height: 240px;
}
.bw-body[data-theme="dark"] .kanban-col{
  background: rgba(255,255,255,.04);
}

.kanban-col-header{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 6px 6px 10px;
}

.kanban-card{
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: var(--bw-radius);
  padding: 10px;
  box-shadow: var(--bw-shadow-soft);
  margin-bottom: 8px;
}

.bw-backdrop{
  display:none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 1035;
}

@media (max-width: 991.98px){
  .bw-main{ margin-left: 0; }

  .bw-sidebar{
    transform: translateX(-100%);
    transition: transform .18s ease;
  }

  .bw-sidebar.is-open{ transform: translateX(0); }
  .bw-backdrop.is-open{ display:block; }

  .bw-topbar{
    grid-template-columns: 1fr auto;
  }

  .bw-topbar__center{
    grid-column: 1 / -1;
    order: 3;
  }

  .bw-userchip{
    display: none;
  }

  .bw-searchbar__hint{
    display: none;
  }

  .bw-toast-stack{
    top: 12px;
    right: 12px;
    left: 12px;
    width: auto;
  }
}

.kpi-wide{ width: 100%; }

.table a.text-decoration-none{ font-weight: 700; }

/* Phase 6 visual language rollout */
.bw-ti-hero,
.bw-tv-hero,
.bw-tc-hero,
.bw-sr-hero,
.bw-cl-hero,
.bw-cf-hero,
.bw-cv-hero,
.bw-ui-hero,
.bw-uf-hero,
.bw-crm-hero,
.bw-lf-hero,
.bw-lv-hero{
  border-radius: 10px !important;
}

.bw-ti-hero__body,
.bw-tv-hero__body,
.bw-tc-hero__body,
.bw-sr-hero__body,
.bw-cl-hero__body,
.bw-cf-hero__body,
.bw-cv-hero__body,
.bw-ui-hero__body,
.bw-uf-hero__body,
.bw-crm-hero__body,
.bw-lf-hero__body,
.bw-lv-hero__body{
  padding: 18px !important;
}

.bw-ti-title,
.bw-tv-title,
.bw-tc-title,
.bw-sr-title,
.bw-cl-title,
.bw-cf-title,
.bw-cv-title,
.bw-ui-title,
.bw-uf-title,
.bw-crm-title,
.bw-lf-title,
.bw-lv-title{
  font-size: 1.22rem !important;
}

.bw-ti-sub,
.bw-tv-sub,
.bw-tc-sub,
.bw-sr-sub,
.bw-cl-sub,
.bw-cf-sub,
.bw-cv-sub,
.bw-ui-sub,
.bw-uf-sub,
.bw-crm-sub,
.bw-lf-sub,
.bw-lv-sub{
  font-size: .88rem !important;
}

.bw-ti-kpi,
.bw-sr-kpi,
.bw-cl-kpi,
.bw-ui-kpi,
.bw-crm-kpi,
.bw-ti-summary__card,
.bw-tv-summary__item,
.bw-cv-item,
.bw-lv-item,
.bw-cdash-stat,
.bw-cdash-highlight__card,
.bw-cdash-overview__card{
  border-radius: 8px !important;
  padding: 10px 12px !important;
}

.bw-ti-kpi__label,
.bw-sr-kpi__label,
.bw-cl-kpi__label,
.bw-ui-kpi__label,
.bw-crm-kpi__label,
.bw-tv-summary__label,
.bw-cv-item__label,
.bw-lv-item__label{
  font-size: .66rem !important;
}

.bw-ti-kpi__value,
.bw-sr-kpi__value,
.bw-cl-kpi__value,
.bw-ui-kpi__value,
.bw-crm-kpi__value{
  font-size: 1.08rem !important;
  margin-top: 4px !important;
}

.bw-ti-panel,
.bw-tv-panel,
.bw-tc-panel,
.bw-sr-panel,
.bw-cl-panel,
.bw-cf-panel,
.bw-cv-panel,
.bw-ui-panel,
.bw-uf-panel,
.bw-lf-panel,
.bw-lv-panel{
  position: relative;
  overflow: hidden;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98)),
    var(--bw-card) !important;
}

.bw-body[data-theme="dark"] .bw-ti-panel,
.bw-body[data-theme="dark"] .bw-tv-panel,
.bw-body[data-theme="dark"] .bw-tc-panel,
.bw-body[data-theme="dark"] .bw-sr-panel,
.bw-body[data-theme="dark"] .bw-cl-panel,
.bw-body[data-theme="dark"] .bw-cf-panel,
.bw-body[data-theme="dark"] .bw-cv-panel,
.bw-body[data-theme="dark"] .bw-ui-panel,
.bw-body[data-theme="dark"] .bw-uf-panel,
.bw-body[data-theme="dark"] .bw-lf-panel,
.bw-body[data-theme="dark"] .bw-lv-panel{
  background:
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.93)),
    var(--bw-card) !important;
}

.bw-ti-panel::before,
.bw-tv-panel::before,
.bw-tc-panel::before,
.bw-sr-panel::before,
.bw-cl-panel::before,
.bw-cf-panel::before,
.bw-cv-panel::before,
.bw-ui-panel::before,
.bw-uf-panel::before,
.bw-lf-panel::before,
.bw-lv-panel::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 48px;
  background: linear-gradient(90deg, rgba(37,99,235,.08), rgba(14,165,233,.03) 58%, transparent);
  pointer-events: none;
}

.bw-ti-panel__head,
.bw-tv-panel__head,
.bw-tc-panel__head,
.bw-sr-panel__head,
.bw-cl-panel__head,
.bw-cf-panel__head,
.bw-cv-panel__head,
.bw-ui-panel__head,
.bw-uf-panel__head,
.bw-lf-panel__head,
.bw-lv-panel__head{
  position: relative;
  z-index: 1;
  padding: 12px 14px 0 !important;
}

.bw-ti-panel__body,
.bw-tv-panel__body,
.bw-tc-panel__body,
.bw-sr-panel__body,
.bw-cl-panel__body,
.bw-cf-panel__body,
.bw-cv-panel__body,
.bw-ui-panel__body,
.bw-uf-panel__body,
.bw-lf-panel__body,
.bw-lv-panel__body{
  position: relative;
  z-index: 1;
  padding: 12px 14px 14px !important;
}

.bw-ti-panel__title,
.bw-tv-panel__title,
.bw-tc-panel__title,
.bw-sr-panel__title,
.bw-cl-panel__title,
.bw-cf-panel__title,
.bw-cv-panel__title,
.bw-ui-panel__title,
.bw-uf-panel__title,
.bw-lf-panel__title,
.bw-lv-panel__title{
  font-size: .98rem !important;
}

.bw-ti-panel__sub,
.bw-tv-panel__sub,
.bw-tc-panel__sub,
.bw-sr-panel__sub,
.bw-cl-panel__sub,
.bw-cf-panel__sub,
.bw-cv-panel__sub,
.bw-ui-panel__sub,
.bw-uf-panel__sub,
.bw-lf-panel__sub,
.bw-lv-panel__sub{
  font-size: .78rem !important;
}

.bw-ti-tab,
.bw-ti-filterpill,
.bw-ti-meta-pill,
.bw-tv-chip,
.bw-tv-threadbar__stat,
.bw-tv-threadfilter,
.bw-tv-msg__chip,
.bw-sr-hint,
.bw-sr-summary__pill,
.bw-sr-item__badge,
.bw-ui-tabs .nav-link{
  border-radius: 7px !important;
}

.bw-ti-tab,
.bw-ti-filterpill,
.bw-ti-meta-pill,
.bw-tv-chip,
.bw-tv-threadbar__stat,
.bw-tv-threadfilter,
.bw-tv-msg__chip,
.bw-sr-hint,
.bw-sr-summary__pill,
.bw-sr-item__badge,
.bw-ui-tabs .nav-link{
  padding: 6px 10px !important;
  font-size: .76rem !important;
}

.bw-ti-hero-actions .btn,
.bw-tv-hero-actions .btn,
.bw-tc-hero-actions .btn,
.bw-cl-hero-actions .btn,
.bw-ui-actions .btn,
.bw-crm-actions .btn,
.bw-ti-filters .btn,
.bw-cl-search .btn,
.bw-ui-search .btn,
.bw-cf-panel .btn,
.bw-uf-panel .btn,
.bw-lf-panel .btn{
  min-height: 38px !important;
  border-radius: 8px !important;
}

.bw-ti-filters .form-control,
.bw-ti-filters .form-select,
.bw-cl-search .form-control,
.bw-ui-search .form-control,
.bw-cf-panel .form-control,
.bw-cf-panel .form-select,
.bw-uf-panel .form-control,
.bw-uf-panel .form-select,
.bw-lf-panel .form-control,
.bw-lf-panel .form-select,
.bw-tc-panel .form-control,
.bw-tc-panel .form-select{
  min-height: 38px !important;
  border-radius: 8px !important;
}

.bw-ti-empty,
.bw-sr-empty,
.bw-cl-empty,
.bw-cdash-empty,
.bw-ops-empty{
  border-radius: 8px !important;
}

.bw-cv-notes,
.bw-lv-notes,
.bw-tc-upload,
.bw-tc-section,
.bw-tc-check,
.bw-tc-file,
.crm-card,
.crm-col-header{
  border-radius: 8px !important;
}

.crm-card,
.bw-ti-table-wrap,
.bw-sr-list{
  box-shadow: var(--bw-shadow-soft);
}

@media (max-width: 767.98px){
  .bw-ti-hero__body,
  .bw-tv-hero__body,
  .bw-tc-hero__body,
  .bw-sr-hero__body,
  .bw-cl-hero__body,
  .bw-cf-hero__body,
  .bw-cv-hero__body,
  .bw-ui-hero__body,
  .bw-uf-hero__body,
  .bw-crm-hero__body,
  .bw-lf-hero__body,
  .bw-lv-hero__body{
    padding: 16px !important;
  }
}

.bw-alert i{
  font-size: 1.15rem;
  margin-top: 2px;
}

.crm-kanban { padding-bottom: 10px; }
.crm-col { background: rgba(255,255,255,.55); }
.bw-body[data-theme="dark"] .crm-col { background: rgba(255,255,255,.04); }

.crm-col-header{
  position: sticky;
  top: 0;
  background: transparent;
  backdrop-filter: blur(10px);
  z-index: 2;
}

.crm-col-body{ padding: 2px 2px 6px; }

.crm-card{
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.crm-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--bw-shadow);
  border-color: rgba(29,78,216,.22);
}

.crm-move .input-group-text{
  background: rgba(29,78,216,.06);
  color: var(--bw-primary);
  border-color: var(--bw-border);
}

.crm-move .dropdown-menu{ border-radius: 14px; }
.crm-move .dropdown-item{ font-weight: 700; }
.crm-move-icon{
  background: rgba(29,78,216,.06);
  color: var(--bw-primary);
  border-color: var(--bw-border);
}

.crm-card .btn.btn-sm{ border-radius: 12px; }
.crm-card .btn-outline-secondary:hover{ background: rgba(148,163,184,.12) !important; }
.crm-card .btn-outline-danger:hover{ background: rgba(239,68,68,.10) !important; }

.nav-pills .nav-link{
  border-radius: 999px;
  font-weight: 800;
}

.pagination .page-link{
  border-radius: 10px;
}

.bw-kpi-row{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}
@media (max-width: 575.98px){
  .bw-kpi-row{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.bw-kpi-mini{
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: var(--bw-shadow-soft);
}
.bw-kpi-mini__label{
  color: var(--bw-muted);
  font-size: .8rem;
  font-weight: 700;
}
.bw-kpi-mini__value{
  font-weight: 900;
  font-size: 1.2rem;
}

.bw-ticketlist{
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.bw-ticketitem{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: 14px;
  box-shadow: var(--bw-shadow-soft);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  color: inherit;
}
.bw-ticketitem:hover{
  transform: translateY(-2px);
  box-shadow: var(--bw-shadow);
  border-color: rgba(29,78,216,.25);
}

.bw-ticketitem__left{ min-width: 0; }
.bw-ticketitem__top{
  display:flex;
  align-items:center;
  gap: 8px;
  min-width: 0;
}
.bw-ticketid{
  font-weight: 900;
  color: var(--bw-text);
  opacity: .9;
}
.bw-ticketsubject{
  font-weight: 800;
  font-size: .95rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 520px;
}
@media (max-width: 991.98px){
  .bw-ticketsubject{ max-width: 280px; }
}

.bw-ticketitem__meta{
  display:flex;
  align-items:center;
  gap: 8px;
  color: var(--bw-muted);
  font-size: .78rem;
  margin-top: 4px;
  flex-wrap: wrap;
}
.bw-dot{ opacity: .6; }

.bw-ticketitem__right{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.bw-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid var(--bw-border);
  background: rgba(148,163,184,.12);
}
.bw-body[data-theme="dark"] .bw-arrow{
  background: rgba(255,255,255,.06);
}

.bw-filters{ margin-top: 6px; }

.bw-control{
  border-radius: 10px;
  padding-top: .3rem;
  padding-bottom: .3rem;
}

.bw-filters .form-control-sm,
.bw-filters .form-select-sm{
  min-height: 34px;
}

.bw-input{
  position: relative;
}
.bw-input > i{
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .65;
  font-size: .95rem;
}
.bw-input .bw-control{
  padding-left: 34px;
}

.bw-select{
  position: relative;
}
.bw-select .bw-control{
  padding-right: 34px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.bw-caret{
  pointer-events: none;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .65;
  font-size: .9rem;
}

.bw-apply{
  border-radius: 14px;
  font-weight: 800;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 992px){
  .bw-filters .col-lg-1,
  .bw-filters .col-lg-2,
  .bw-filters .col-lg-3,
  .bw-filters .col-lg-4{
    margin-top: 0;
  }
}

.bw-card--soft{
  box-shadow: var(--bw-shadow-soft) !important;
  border: 1px solid var(--bw-border) !important;
}

.bw-pagehead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 8px;
}

.bw-pagehead__eyebrow{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bw-muted);
}

.bw-pagehead h3{
  font-size: .84rem;
  line-height: 1.15;
  font-weight: 800;
}

.bw-pagehead .text-muted{
  font-size: .72rem;
}

.bw-hero{
  background:
    radial-gradient(900px 380px at 10% -25%, rgba(29,78,216,.12), transparent 55%),
    radial-gradient(900px 380px at 110% 0%, rgba(14,165,233,.10), transparent 55%),
    var(--bw-card);
}

.bw-hero__eyebrow{
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bw-muted);
}

.bw-hero__badge{
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(29,78,216,.12);
  color: var(--bw-primary);
  flex: 0 0 auto;
}

.bw-feature{
  display:flex;
  gap: 8px;
  align-items:flex-start;
  padding: 8px 9px;
  border: 1px solid var(--bw-border);
  border-radius: var(--bw-radius-sm);
  background: rgba(255,255,255,0.55);
}

.bw-body[data-theme="dark"] .bw-feature{
  background: rgba(15,23,42,0.55);
}

.bw-feature__icon{
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(29,78,216,.10);
  color: var(--bw-primary);
  flex: 0 0 auto;
}

.bw-empty{
  padding: 18px 14px;
  text-align:center;
}

.bw-empty__icon{
  width: 42px;
  height: 42px;
  margin: 0 auto 8px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(29,78,216,.10);
  color: var(--bw-primary);
  font-size: 1rem;
}

.bw-empty__title{
  font-weight: 800;
  margin-bottom: 4px;
  font-size: .92rem;
}

.bw-empty__text{
  color: var(--bw-muted);
  font-size: .82rem;
}

.bw-sidebar__quick{
  padding: 8px 10px 0;
}

.bw-sidebar__quick .btn{
  border-radius: 10px;
  box-shadow: 0 8px 16px rgba(0,0,0,.16);
  min-height: 36px;
}

@media (max-width: 991.98px){
  .bw-pagehead{ align-items:flex-start; flex-direction:column; }
}

.bw-metric{
  border: 1px solid var(--bw-border) !important;
  border-radius: var(--bw-radius) !important;
  background: var(--bw-card) !important;
}

.bw-metric .card-body{
  padding: 10px 12px;
}

.bw-metric__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
}

.bw-metric__label{
  font-size: .64rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--bw-muted);
}

.bw-metric__icon{
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(29,78,216,.10);
  color: var(--bw-primary);
}

.bw-metric__value{
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.1;
  margin-top: 6px;
}

.bw-metric__sub{
  font-size: .7rem;
  margin-top: 2px;
}

.bw-mini-stat{
  border: 1px solid var(--bw-border) !important;
  background: var(--bw-card) !important;
}

.bw-mini-stat .card-body{
  padding: 9px 12px;
}

.bw-mini-stat__label{
  color: var(--bw-muted);
  font-size: .66rem;
  font-weight: 700;
}
.bw-mini-stat__value{
  margin-top: 4px;
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.05;
}

.bw-metric--danger .bw-metric__icon{
  background: rgba(220,38,38,.10);
  color: #dc2626;
}

.bw-ticketgrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 991.98px){
  .bw-ticketgrid{ grid-template-columns: 1fr; }
}

.bw-tcard{
  position: relative;
  display:block;
  text-decoration:none;
  border: 1px solid var(--bw-border);
  background: var(--bw-card);
  border-radius: var(--bw-radius);
  overflow:hidden;
  transition: transform .12s ease, box-shadow .12s ease;
  box-shadow: var(--bw-shadow-soft);
}

.bw-tcard:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

.bw-tcard__stripe{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width: 5px;
  opacity: .95;
}

.bw-tcard__body{
  padding: 7px 8px 7px 11px;
}

.bw-tcard__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 8px;
}

.bw-tcard__id{
  font-weight: 800;
  color: var(--bw-text);
  font-size: .72rem;
}

.bw-tcard__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap: 5px;
}

.bw-tcard__subject{
  margin-top: 4px;
  font-weight: 700;
  color: var(--bw-text);
  line-height: 1.25;
  font-size: .84rem;
}

.bw-tcard__meta{
  margin-top: 6px;
  display:flex;
  flex-wrap:wrap;
  gap: 6px;
  font-size: .68rem;
}

.bw-meta-chip{
  display:inline-flex;
  align-items:center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid var(--bw-border);
  background: rgba(255,255,255,0.55);
  color: var(--bw-muted);
  font-size: .74rem;
}

.bw-body[data-theme="dark"] .bw-meta-chip{
  background: rgba(15,23,42,0.55);
}

.bw-tcard__cta{
  margin-top: 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--bw-border);
  color: var(--bw-primary);
  font-weight: 700;
  font-size: .82rem;
}

.bw-metric--open .bw-metric__icon{
  background: rgba(29,78,216,.12) !important;
  color: #1d4ed8 !important;
}
.bw-metric--progress .bw-metric__icon{
  background: rgba(37,99,235,.12) !important;
  color: #2563eb !important;
}
.bw-metric--warning .bw-metric__icon{
  background: rgba(217,119,6,.12) !important;
  color: #d97706 !important;
}
.bw-metric--dark .bw-metric__icon{
  background: rgba(71,85,105,.14) !important;
  color: #334155 !important;
}
.bw-metric--resolved .bw-metric__icon{
  background: rgba(22,163,74,.12) !important;
  color: #16a34a !important;
}
.bw-metric--overdue .bw-metric__icon{
  background: rgba(220,38,38,.12) !important;
  color: #dc2626 !important;
}
.bw-searchquick{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  background: var(--bw-card);
  border: 1px solid var(--bw-border);
  border-radius: 16px;
  box-shadow: var(--bw-shadow);
  overflow: hidden;
}

.bw-searchquick__status{
  padding: 12px 14px;
  font-size: .9rem;
  color: var(--bw-muted);
  border-bottom: 1px solid var(--bw-border);
  background: rgba(255,255,255,.45);
}

.bw-body[data-theme="dark"] .bw-searchquick__status{
  background: rgba(255,255,255,.03);
}

.bw-searchquick__groups{
  max-height: min(62vh, 560px);
  overflow: auto;
}

.bw-searchquick__group + .bw-searchquick__group{
  border-top: 1px solid var(--bw-border);
}

.bw-searchquick__ghead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  padding: 10px 14px;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--bw-muted);
  background: rgba(255,255,255,.32);
}

.bw-body[data-theme="dark"] .bw-searchquick__ghead{
  background: rgba(255,255,255,.02);
}

.bw-searchquick__list{
  display:flex;
  flex-direction:column;
}

.bw-searchquick__item{
  display:flex;
  align-items:flex-start;
  gap: 12px;
  padding: 12px 14px;
  color: var(--bw-text);
  border-top: 1px solid rgba(0,0,0,0.03);
  transition: background .15s ease, transform .15s ease;
}

.bw-body[data-theme="dark"] .bw-searchquick__item{
  border-top-color: rgba(255,255,255,0.04);
}

.bw-searchquick__item:hover{
  background: rgba(37,99,235,.06);
}

.bw-body[data-theme="dark"] .bw-searchquick__item:hover{
  background: rgba(59,130,246,.12);
}

.bw-searchquick__itemicon{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(37,99,235,.10);
  color: var(--bw-primary);
  flex: 0 0 auto;
  margin-top: 2px;
}

.bw-searchquick__itembody{
  min-width: 0;
  flex: 1 1 auto;
}

.bw-searchquick__itemtop{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap:wrap;
}

.bw-searchquick__badge{
  display:inline-flex;
  align-items:center;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--bw-border);
  background: rgba(255,255,255,.66);
  color: var(--bw-muted);
  font-size: .75rem;
  line-height: 1;
}

.bw-body[data-theme="dark"] .bw-searchquick__badge{
  background: rgba(255,255,255,.04);
}

.bw-searchquick__label{
  font-weight: 700;
  line-height: 1.35;
  color: var(--bw-text);
  word-break: break-word;
}

.bw-searchquick__meta{
  margin-top: 4px;
  font-size: .84rem;
  line-height: 1.45;
  color: var(--bw-muted);
  word-break: break-word;
}

.bw-searchquick__arrow{
  color: var(--bw-muted);
  font-size: 1.1rem;
  padding-top: 3px;
}

.bw-searchquick__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  border-top: 1px solid var(--bw-border);
  font-size: .78rem;
  color: var(--bw-muted);
  background: rgba(255,255,255,.40);
}

.bw-body[data-theme="dark"] .bw-searchquick__footer{
  background: rgba(255,255,255,.02);
}

@media (max-width: 991.98px){
  .bw-searchquick{
    left: 0;
    right: 0;
  }
}

@media (max-width: 575.98px){
  .bw-searchquick__footer{
    flex-direction: column;
    align-items:flex-start;
  }
}

.bw-auth-shell{
  min-height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 28px 16px;
}

.bw-auth-grid{
  width: 100%;
  max-width: 1220px;
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 460px);
  gap: 22px;
  align-items: stretch;
}

.bw-auth-brand,
.bw-auth-card{
  border: 1px solid var(--bw-border);
  border-radius: 28px;
  box-shadow: var(--bw-shadow);
}

.bw-auth-brand{
  position: relative;
  overflow:hidden;
  background:
    radial-gradient(820px 420px at 0% 0%, rgba(37,99,235,.20), transparent 58%),
    radial-gradient(680px 360px at 100% 100%, rgba(14,165,233,.14), transparent 55%),
    linear-gradient(145deg, #0b1220 0%, #111b31 56%, #15233d 100%);
  color: #f8fafc;
}

.bw-auth-brand::before{
  content:"";
  position:absolute;
  inset: 18px 18px auto auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(96,165,250,.22), transparent 68%);
  filter: blur(4px);
  pointer-events:none;
}

.bw-auth-brand::after{
  content:"";
  position:absolute;
  left:-40px;
  bottom:-48px;
  width: 260px;
  height: 260px;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  transform: rotate(-12deg);
  pointer-events:none;
}

.bw-auth-brand__inner{
  position:relative;
  z-index:1;
  padding: 38px 38px 34px;
}

.bw-auth-brand__eyebrow{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 800;
  color: rgba(248,250,252,.68);
}

.bw-auth-brand__logo{
  display:block;
  width: min(320px, 70%);
  max-width: 100%;
  height: auto;
  margin-top: 18px;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.22));
}

.bw-auth-brand__title{
  margin: 24px 0 0;
  max-width: 560px;
  font-size: clamp(1.7rem, 2.5vw, 2.7rem);
  line-height: 1.04;
  font-weight: 900;
  letter-spacing: -.03em;
}

.bw-auth-brand__text{
  margin-top: 16px;
  max-width: 560px;
  color: rgba(226,232,240,.84);
  font-size: 1rem;
  line-height: 1.75;
}

.bw-auth-brand__points{
  display:grid;
  gap: 12px;
  margin-top: 24px;
  max-width: 560px;
}

.bw-auth-point{
  display:grid;
  grid-template-columns: 40px minmax(0,1fr);
  gap: 12px;
  align-items:flex-start;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}

.bw-auth-point__icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: #fff;
  background: linear-gradient(135deg, rgba(37,99,235,.95), rgba(14,165,233,.95));
  box-shadow: 0 16px 28px rgba(14,165,233,.18);
  font-size: 1rem;
}

.bw-auth-point__title{
  font-weight: 900;
  font-size: .9rem;
  color: #fff;
}

.bw-auth-point__text{
  margin-top: 2px;
  color: rgba(226,232,240,.78);
  font-size: .82rem;
  line-height: 1.45;
}

.bw-auth-cardwrap{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.bw-auth-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98)),
    var(--bw-card);
  padding: 26px 24px 22px;
  position:relative;
}

.bw-body[data-theme="dark"] .bw-auth-card{
  background:
    linear-gradient(180deg, rgba(15,23,42,.98), rgba(15,23,42,.96)),
    var(--bw-card);
}

.bw-auth-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 28px;
  padding:1px;
  background: linear-gradient(180deg, rgba(37,99,235,.14), rgba(14,165,233,.06), rgba(255,255,255,0));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
}

.bw-auth-badge{
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 0 auto;
  background: linear-gradient(145deg, rgba(37,99,235,.12), rgba(14,165,233,.12));
  border: 1px solid rgba(37,99,235,.10);
  box-shadow: 0 18px 36px rgba(29,78,216,.12);
}

.bw-auth-badge__img{
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.bw-auth-card__eyebrow{
  margin-top: 14px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bw-muted);
  text-align:center;
}

.bw-auth-card__title{
  margin: 8px 0 0;
  font-size: 1.75rem;
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: -.03em;
  text-align:center;
}

.bw-auth-card__text{
  margin: 10px 0 0;
  color: var(--bw-muted);
  line-height: 1.6;
  font-size: .9rem;
  text-align:center;
}

.bw-auth-note{
  display:flex;
  gap: 8px;
  align-items:flex-start;
  margin: 18px 0 18px;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid var(--bw-border);
  background: rgba(37,99,235,.05);
  color: var(--bw-muted);
  font-size: .86rem;
  line-height: 1.45;
}

.bw-auth-note i{
  color: var(--bw-primary);
  font-size: 1rem;
  margin-top: 1px;
}

.bw-auth-inlinealert{
  display:grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 10px;
  align-items:flex-start;
  margin: 0 0 16px;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid var(--bw-border);
  background: rgba(255,255,255,.66);
}

.bw-auth-inlinealert--error{
  border-color: rgba(239,68,68,.20);
  background: rgba(239,68,68,.06);
}

.bw-auth-inlinealert--success{
  border-color: rgba(16,185,129,.20);
  background: rgba(16,185,129,.06);
}

.bw-auth-inlinealert__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(239,68,68,.12);
  color: #dc2626;
  font-size: .98rem;
}

.bw-auth-inlinealert__title{
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #b91c1c;
}

.bw-auth-inlinealert--success .bw-auth-inlinealert__icon{
  background: rgba(16,185,129,.12);
  color: #059669;
}

.bw-auth-inlinealert--success .bw-auth-inlinealert__title{
  color: #047857;
}

.bw-auth-inlinealert__text{
  margin-top: 2px;
  font-size: .88rem;
  line-height: 1.45;
  color: var(--bw-text);
}

.bw-body[data-theme="dark"] .bw-auth-inlinealert{
  background: rgba(239,68,68,.08);
}

.bw-body[data-theme="dark"] .bw-auth-inlinealert--success{
  background: rgba(16,185,129,.08);
}

.bw-body[data-theme="dark"] .bw-auth-inlinealert__title{
  color: #fca5a5;
}

.bw-body[data-theme="dark"] .bw-auth-inlinealert--success .bw-auth-inlinealert__title{
  color: #6ee7b7;
}

.bw-body[data-theme="dark"] .bw-auth-inlinealert__text{
  color: #e5e7eb;
}

.bw-auth-input{
  min-height: 52px;
  border-radius: 16px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  font-size: .92rem !important;
}

.bw-auth-password{
  position: relative;
}

.bw-auth-password .bw-auth-input{
  padding-right: 56px !important;
}

.bw-auth-password__toggle{
  position:absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--bw-muted);
}

.bw-auth-password__toggle:hover{
  background: rgba(148,163,184,.10);
  color: var(--bw-text);
}

.bw-auth-submit{
  min-height: 52px;
  border-radius: 16px !important;
}

.bw-auth-check{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: .84rem;
  color: var(--bw-text);
  font-weight: 600;
}

.bw-auth-check input{
  width: 16px;
  height: 16px;
  accent-color: var(--bw-primary);
}

.bw-auth-microcopy{
  color: var(--bw-muted);
  font-size: .78rem;
  text-align:right;
}

.bw-auth-foot{
  text-align:center;
  margin-top: 18px;
}

.bw-auth-mobilehint{
  margin-top: 14px;
  text-align:center;
  color: var(--bw-muted);
  font-size: .84rem;
  line-height: 1.55;
}

@media (max-width: 991.98px){
  .bw-auth-grid{
    grid-template-columns: 1fr;
    max-width: 560px;
  }

  .bw-auth-brand{
    display:none;
  }
}

@media (max-width: 575.98px){
  .bw-auth-shell{
    padding: 18px 12px;
  }

  .bw-auth-card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .bw-auth-card__title{
    font-size: 1.5rem;
  }
}
