/* ═══════════════════════════════════════════════════════════
   CareConnect Frontend Widgets v6.1
   ═══════════════════════════════════════════════════════════ */
:root {
  --cc-primary:      #0f4c81;
  --cc-primary-dark: #0a3560;
  --cc-primary-light:#e7f0fa;
  --cc-success:      #16a34a;
  --cc-success-bg:   #f0fdf4;
  --cc-danger:       #dc2626;
  --cc-danger-bg:    #fef2f2;
  --cc-gray-100:     #f1f5f9;
  --cc-gray-200:     #e2e8f0;
  --cc-gray-500:     #64748b;
  --cc-radius:       8px;
  --cc-radius-lg:    12px;
  --cc-shadow:       0 2px 8px rgba(0,0,0,.10);
}

.cc-widget { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; line-height:1.5; color:#1e293b; }
.cc-widget *, .cc-widget *::before, .cc-widget *::after { box-sizing:border-box; }

/* Form */
.cc-form-wrap {
  background:#fff; border:1px solid var(--cc-gray-200);
  border-radius:var(--cc-radius-lg); padding:28px;
  max-width:540px; box-shadow:var(--cc-shadow);
}
.cc-form-title { font-size:1.15rem; font-weight:700; margin:0 0 20px; color:var(--cc-primary); }
.cc-form-field { margin-bottom:16px; }
.cc-form-label { display:block; font-size:.85rem; font-weight:600; margin-bottom:5px; color:#334155; }
.cc-form-input, .cc-form-select, .cc-form-textarea {
  width:100%; padding:10px 14px;
  border:1.5px solid var(--cc-gray-200); border-radius:var(--cc-radius);
  font-size:1rem; background:#fff; transition:border-color .15s;
}
.cc-form-input:focus, .cc-form-select:focus, .cc-form-textarea:focus {
  outline:none; border-color:var(--cc-primary);
  box-shadow:0 0 0 3px rgba(15,76,129,.1);
}
.cc-form-row  { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cc-form-btn  {
  width:100%; padding:13px; background:var(--cc-primary); color:#fff;
  border:none; border-radius:var(--cc-radius); font-size:1rem;
  font-weight:600; cursor:pointer; transition:background .15s; margin-top:4px;
}
.cc-form-btn:hover    { background:var(--cc-primary-dark); }
.cc-form-btn:disabled { opacity:.6; cursor:not-allowed; }
.cc-form-msg { margin-top:12px; font-size:.88rem; min-height:24px; }

/* Login Wall */
.cc-login-wall {
  background:var(--cc-gray-100); border:1px solid var(--cc-gray-200);
  border-radius:var(--cc-radius-lg); padding:40px 24px; text-align:center;
}
.cc-login-wall p   { color:var(--cc-gray-500); margin-bottom:16px; font-size:.95rem; }
.cc-login-wall a   {
  display:inline-block; background:var(--cc-primary); color:#fff;
  padding:10px 28px; border-radius:var(--cc-radius);
  text-decoration:none; font-weight:600; transition:background .15s;
}
.cc-login-wall a:hover { background:var(--cc-primary-dark); }

/* Cards (Termine, Rechnungen, etc.) */
.cc-fe-list   { list-style:none; margin:0; padding:0; }
.cc-fe-card   {
  background:#fff; border:1px solid var(--cc-gray-200);
  border-radius:var(--cc-radius-lg); padding:16px 20px; margin-bottom:10px;
  transition:box-shadow .15s;
}
.cc-fe-card:hover { box-shadow:var(--cc-shadow); }
.cc-fe-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.cc-fe-card-title  { font-weight:600; font-size:.95rem; color:#1e293b; }
.cc-fe-card-meta   { font-size:.8rem; color:var(--cc-gray-500); }

/* Status Badges */
.cc-status       { display:inline-block; padding:3px 10px; border-radius:20px; font-size:.76rem; font-weight:600; }
.cc-status-green { background:var(--cc-success-bg); color:var(--cc-success); }
.cc-status-yellow{ background:#fffbeb; color:#92400e; }
.cc-status-red   { background:var(--cc-danger-bg);  color:var(--cc-danger);  }
.cc-status-gray  { background:var(--cc-gray-100);   color:var(--cc-gray-500);}

/* Alerts */
.cc-fe-alert { padding:12px 16px; border-radius:var(--cc-radius); font-size:.88rem; margin-bottom:12px; }
.cc-fe-alert.success { background:var(--cc-success-bg); color:#14532d; border:1px solid #86efac; }
.cc-fe-alert.error   { background:var(--cc-danger-bg);  color:#7f1d1d; border:1px solid #fca5a5; }
.cc-fe-alert.warning { background:#fffbeb; color:#78350f; border:1px solid #fcd34d; }

/* Chat Widget */
.cc-chat-widget { border:1px solid var(--cc-gray-200); border-radius:var(--cc-radius-lg); overflow:hidden; box-shadow:var(--cc-shadow); }
.cc-chat-header { background:var(--cc-primary); color:#fff; padding:14px 18px; font-weight:600; font-size:.95rem; }
.cc-chat-msgs   { height:300px; overflow-y:auto; padding:14px 16px; background:var(--cc-gray-100); font-size:.88rem; }
.cc-chat-input-row { display:flex; gap:8px; padding:10px 14px; border-top:1px solid var(--cc-gray-200); background:#fff; }
.cc-chat-inp    { flex:1; padding:8px 12px; border:1.5px solid var(--cc-gray-200); border-radius:20px; font-size:.88rem; }
.cc-chat-send   { background:var(--cc-primary); color:#fff; border:none; border-radius:20px; padding:8px 18px; cursor:pointer; font-size:.85rem; font-weight:500; }

/* Responsive */
@media (max-width: 600px) {
  .cc-form-wrap { padding:18px; }
  .cc-form-row  { grid-template-columns:1fr; }
  .cc-fe-card-header { flex-direction:column; align-items:flex-start; gap:4px; }
  .cc-chat-msgs { height:220px; }
}
