:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --muted:#f6f8fb;
  --border:#e6e9f2;
  --text:#0f172a;
  --subtext:#64748b;
  --primary:#ff3d6a; /* coral-asana vibe */
  --primary2:#635bff;
  --green:#22c55e;
  --amber:#f59e0b;
  --red:#ef4444;
  --blue:#3b82f6;
  --violet:#8b5cf6;

  --shadow: 0 10px 30px rgba(2,6,23,.08);
  --shadow2: 0 6px 18px rgba(2,6,23,.08);
  --r: 16px;
}

html,body{height:100%;}
body{
  background:var(--bg);
  color:var(--text);
}

.surface{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:var(--shadow2);
}

.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  border-radius:12px;
  padding:.55rem .9rem;
  font-weight:600;
  border:1px solid var(--border);
  background:#fff;
  transition:transform .08s ease, box-shadow .08s ease, background .08s ease, border-color .08s ease;
}
.btn:hover{ box-shadow:var(--shadow2); transform:translateY(-1px); border-color:#dbe1ee;}
.btn:active{ transform:translateY(0); box-shadow:none;}
.btn-primary{
  background:var(--primary);
  color:#fff;
  border-color:transparent;
}
.btn-primary:hover{ filter:brightness(.98); }

.badge{
  display:inline-flex; align-items:center;
  padding:.20rem .55rem;
  border-radius:999px;
  border:1px solid var(--border);
  font-weight:600;
  font-size:.75rem;
  color:var(--subtext);
  background:#fff;
}
.badge.todo{ border-color:rgba(59,130,246,.35); color:var(--blue); background:rgba(59,130,246,.06); }
.badge.doing{ border-color:rgba(245,158,11,.35); color:var(--amber); background:rgba(245,158,11,.06); }
.badge.review{ border-color:rgba(139,92,246,.35); color:var(--violet); background:rgba(139,92,246,.06); }
.badge.done{ border-color:rgba(34,197,94,.35); color:var(--green); background:rgba(34,197,94,.06); }
.badge.blocked{ border-color:rgba(239,68,68,.35); color:var(--red); background:rgba(239,68,68,.06); }

.input, select, textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:.55rem .75rem;
  background:#fff;
  outline:none;
}
.input:focus, select:focus, textarea:focus{
  border-color:rgba(99,91,255,.5);
  box-shadow:0 0 0 4px rgba(99,91,255,.12);
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.table th{
  text-align:left;
  font-size:.78rem;
  color:var(--subtext);
  font-weight:700;
  padding:.6rem .8rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(#fff, #fff);
}
.table td{
  padding:.7rem .8rem;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
.row-hover:hover{ background:rgba(2,6,23,.02); }

.toast{
  position:fixed; right:20px; bottom:20px;
  background:#0b1220;
  color:#fff;
  padding:.75rem 1rem;
  border-radius:14px;
  box-shadow:var(--shadow);
  max-width:340px;
  z-index:9999;
}

.fc .fc-toolbar-title{ font-weight:800; letter-spacing:-.02em; }
.fc .fc-button{ border-radius:10px !important; border:1px solid var(--border) !important; background:#fff !important; color:var(--text) !important; }
.fc .fc-button-primary:not(:disabled).fc-button-active{ background:rgba(255,61,106,.10)!important; border-color:rgba(255,61,106,.35)!important; color:var(--text)!important; }
.fc .fc-daygrid-day-number{ color:var(--subtext); font-weight:700; }
.fc .fc-event{ border-radius:10px; border:none; padding:2px 6px; font-weight:700; }

/* Designer palette + navigazione colorata */
.nav-item{ position:relative; }
.nav-item::before{
  content:'';
  width:10px; height:10px; border-radius:999px;
  background: transparent;
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
}
.nav-item{ padding-left:30px; }
.nav-item[data-color="dash"]::before{ background: var(--primary2); }
.nav-item[data-color="tasks"]::before{ background: var(--primary); }
.nav-item[data-color="projects"]::before{ background: var(--violet); }
.nav-item[data-color="clients"]::before{ background: var(--blue); }
.nav-item[data-color="crm"]::before{ background: var(--amber); }
.nav-item[data-color="finance"]::before{ background: var(--green); }

.badge.done{ background:rgba(34,197,94,.10); color:var(--green); border-color:rgba(34,197,94,.35); }
.badge.todo{ background:rgba(59,130,246,.10); color:var(--blue); border-color:rgba(59,130,246,.35); }
.badge.doing{ background:rgba(245,158,11,.10); color:var(--amber); border-color:rgba(245,158,11,.35); }
.badge.review{ background:rgba(139,92,246,.10); color:var(--violet); border-color:rgba(139,92,246,.35); }
.badge.blocked{ background:rgba(239,68,68,.10); color:var(--red); border-color:rgba(239,68,68,.35); }

/* FullCalendar tweaks */
.fc .fc-toolbar-title{ font-size: 20px; }
.fc .fc-button{ font-weight:700; }
