:root {
--cc-primary:      #2563eb;
--cc-primary-dark: #1d4ed8;
--cc-primary-light:#eff6ff;
--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:       10px;
--cc-radius-lg:    12px;
--cc-shadow:       0 2px 8px rgba(0,0,0,.10);
}
.cc-widget { font-family:var(--cc-font),BlinkMacSystemFont,'Segoe UI',sans-serif; line-height:1.5; color:var(--cc-text); }
.cc-widget *, .cc-widget *::before, .cc-widget *::after { box-sizing:border-box; } .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; } .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); } .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:var(--cc-text); }
.cc-fe-card-meta   { font-size:.8rem; color:var(--cc-gray-500); } .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);} .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; } .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; } @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; }
}