:root{
  --ui-surface:#ffffff;
  --ui-surface-muted:#f7faff;
  --ui-surface-strong:#eef4ff;
  --ui-border:#dce6f7;
  --ui-border-strong:#c9d7ef;
  --ui-text:#1c2742;
  --ui-muted:#637392;
  --ui-primary:#4f6dd1;
  --ui-primary-strong:#3e58b4;
  --ui-success:#1f9d63;
  --ui-warning:#dd9b2d;
  --ui-danger:#d45160;
  --ui-radius-xl:24px;
  --ui-radius-lg:18px;
  --ui-radius-md:14px;
  --ui-shadow:0 12px 34px rgba(45,68,118,.08);
  --ui-shadow-lg:0 18px 44px rgba(35,56,102,.12);
}

body{
  color:var(--ui-text);
}

.card,
.toolbar-card,
.table-shell,
.drawer,
.drawer-card,
.workday-pill,
.rail-btn,
.company-user-card,
.tip-card,
.project-scope-card{
  border-color:var(--ui-border)!important;
  box-shadow:var(--ui-shadow)!important;
}

.section-head{
  gap:18px;
}

.section-actions,
.filters-grid,
.compact-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.filters-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.primary-btn,
.ghost-btn{
  min-height:44px;
  border-radius:14px;
}

.primary-btn{
  background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-strong))!important;
  box-shadow:0 10px 24px rgba(79,109,209,.22)!important;
}

.ghost-btn{
  background:var(--ui-surface)!important;
  border:1px solid var(--ui-border)!important;
}

.ghost-btn.active,
.quick-filter-chip.is-active,
.nav-link.is-active{
  background:linear-gradient(180deg,#f3f7ff,#ebf1ff)!important;
  border-color:#cfdcff!important;
}

.input,
.textarea,
select.input,
.inline-control{
  min-height:44px;
  background:#fff;
  border:1px solid var(--ui-border-strong)!important;
}

.input:focus,
.textarea:focus,
select.input:focus,
.inline-control:focus,
.input:focus-visible,
.textarea:focus-visible,
select.input:focus-visible,
.inline-control:focus-visible,
button:focus-visible,
a:focus-visible,
.kanban-card:focus-visible,
.quick-filter-chip:focus-visible{
  outline:none;
  border-color:var(--ui-primary)!important;
  box-shadow:0 0 0 4px rgba(79,109,209,.16)!important;
}

.table-row{
  transition:background .16s ease, transform .16s ease;
}

.table-row.js-open-task:hover,
.table-row.js-open-project:hover,
.list-item.js-open-task:hover,
.list-item.js-open-project:hover{
  background:#f9fbff;
}

.tip-card{
  background:linear-gradient(135deg,#fff,#f7faff);
}

.onboarding-panel{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  padding:20px;
  border-radius:var(--ui-radius-xl);
  background:linear-gradient(135deg,#f8fbff,#eef4ff);
  border:1px solid var(--ui-border);
  box-shadow:var(--ui-shadow);
}

.onboarding-panel__steps{
  display:grid;
  gap:12px;
}

.onboarding-step{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--ui-border);
}

.onboarding-step__index{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--ui-surface-strong);
  color:var(--ui-primary-strong);
  font-weight:800;
}

.quick-filter-chip{
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.quick-filter-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(45,68,118,.08);
}

.kanban-grid{
  align-items:start;
}

.kanban-col{
  min-width:280px;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.kanban-col:hover{
  transform:translateY(-1px);
}
.kanban-list.drag-over{
  background:linear-gradient(180deg,rgba(79,109,209,.08),rgba(79,109,209,.02));
  box-shadow:inset 0 0 0 2px rgba(79,109,209,.18);
}
.kanban-card{
  position:relative;
}
.kanban-card.drop-before::before{
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  top:-7px;
  height:3px;
  border-radius:999px;
  background:var(--ui-primary);
}
.kanban-card.drop-success{
  animation:kanbanDropPulse .55s ease;
}
@keyframes kanbanDropPulse{
  0%{transform:scale(.985); box-shadow:0 0 0 0 rgba(79,109,209,.24)}
  50%{transform:scale(1.01); box-shadow:0 0 0 10px rgba(79,109,209,0)}
  100%{transform:none; box-shadow:0 10px 24px rgba(45,68,118,.08)}
}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media (max-width:1180px){
  .filters-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:860px){
  .filters-grid,
  .onboarding-panel{
    grid-template-columns:1fr;
  }
  .section-actions,
  .compact-actions{
    width:100%;
  }
  .section-actions > *,
  .compact-actions > *{
    flex:1 1 180px;
  }
}
