.card { background: #fff; border: 1px solid #E8E3DC; border-radius: 12px; }
.card-sm { background: #fff; border: 1px solid #E8E3DC; border-radius: 10px; }

.inp { background: #F8F5F0; border: 1px solid #DDD8D0; color: #1C1C1E;
  padding: 8px 12px; border-radius: 8px; font-size: 13px; width: 100%; outline: none; transition: border .15s; }
.inp:focus { border-color: #FF3333; }
.inp::placeholder { color: #B0A99F; }

.btn-red { background: #FF3333; color: #fff; padding: 8px 16px; border-radius: 8px;
  font-size: 13px; font-weight: 600; transition: background .15s; cursor: pointer; }
.btn-red:hover:not(:disabled) { background: #e02020; }
.btn-red:disabled { opacity: .45; cursor: not-allowed; }
.btn-outline { background: transparent; border: 1px solid #DDD8D0; color: #555; padding: 6px 14px;
  border-radius: 8px; font-size: 12px; font-weight: 500; transition: all .15s; cursor: pointer; }
.btn-outline:hover { border-color: #B0A99F; color: #1C1C1E; }
.btn-ghost { background: transparent; color: #888; padding: 6px 12px; border-radius: 8px;
  font-size: 12px; font-weight: 500; transition: all .15s; cursor: pointer; }
.btn-ghost:hover { color: #1C1C1E; background: rgba(0,0,0,0.04); }
.btn-sm { padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 600;
  cursor: pointer; transition: all .15s; }

.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px;
  font-size: 11px; font-weight: 600; }
.badge-collecting { background: #FEF3C7; color: #92400E; }
.badge-completed  { background: #DCFCE7; color: #15803D; }
.badge-gray       { background: #F3F4F6; color: #6B7280; }
.badge-red        { background: #FEE2E2; color: #B91C1C; }
.badge-blue       { background: #DBEAFE; color: #1D4ED8; }
.badge-purple     { background: #EDE9FE; color: #6D28D9; }

table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { text-align: left; padding: 10px 14px; font-size: 11px; font-weight: 600;
  color: #9C9C9C; text-transform: uppercase; letter-spacing: .04em;
  border-bottom: 1px solid #E8E3DC; }
td { padding: 10px 14px; border-bottom: 1px solid #F0EBE4; color: #3C3C3E; vertical-align: middle; }
tr:last-child td { border-bottom: none; }
tr:hover td { background: #FAFAF8; }

.msg-client   { background: #fff; border: 1px solid #E8E3DC; border-radius: 0 12px 12px 12px; max-width:70%; }
.msg-bot      { background: #DCF8C6; border-radius: 12px 0 12px 12px; max-width:70%; }
.msg-operator { background: #D4EAFF; border-radius: 12px 0 12px 12px; max-width:70%; }

.bubble-user { background: #FF3333; color: #fff; border-radius: 16px 16px 4px 16px; max-width: 80%; }
.bubble-ai   { background: #F0EBE4; color: #1C1C1E; border-radius: 16px 16px 16px 4px; max-width: 80%; }

.conv-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #F0EBE4; transition: background .12s; }
.conv-item:hover { background: #F5F5F5; }
.conv-item.selected { background: #EBF5FB; border-left: 3px solid #FF3333; }

.kanban-card { background:#fff; border:1px solid #E8E3DC; border-radius:10px; padding:12px; cursor:pointer; transition:box-shadow .15s, transform .1s; }
.kanban-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.1); transform:translateY(-1px); }
