#cc-banner { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 99999; background: rgba(0,0,0,.45); }
#cc-banner.cc-hidden { display: none; }
.cc-box { width: min(720px, 92vw); background: rgba(255,255,255,0.9); color: #111; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.2); padding: 20px; }
.cc-tabs { display: flex; gap: 8px; margin: 12px 0 16px; }
.cc-tab { border: 1px solid #ddd; background: #f8f8f8; padding: 6px 10px; border-radius: 8px; cursor: pointer; }
.cc-tab--active { background: #e3f2d7; border-color: #689e3d; }
.cc-panel.cc-hidden { display: none; }
.cc-cat { border-top: 1px solid #eee; padding: 12px 0; }
.cc-row { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.cc-cat-title { font-weight: 600; }
.cc-cat-desc { margin: 6px 0 0; color: #444; font-size: .95rem; }
.cc-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; flex-wrap: wrap; }
.cc-btn { padding: 10px 14px; border-radius: 8px; border: 1px solid #ddd; background: #f5f5f5; cursor: pointer; }
.cc-accept { background: #689e3d; color: #fff; border-color: #689e3d; }
.cc-save { background: #e3f2d7; color: #689e3d; border-color: #689e3d; }
.cc-reject { background: #f5f5f5; }
.cc-open { position: fixed; right: 16px; bottom: 16px; padding: 10px 12px; border-radius: 999px; background: #f0f0f0; border: 1px solid #ddd; cursor: pointer; z-index: 9999; }
@media (prefers-color-scheme: dark) {
  .cc-box { background: #1e1f22; color: #e9e9e9; }
  .cc-tab { background: #2a2b2f; border-color: #3a3b41; color: #ddd; }
  .cc-tab--active { background: #22344a; border-color: #3f6ea8; }
  .cc-btn { background: #2a2b2f; border-color: #3a3b41; color: #ddd; }
  .cc-accept { background: #3f6ea8; border-color: #3f6ea8; }
  .cc-save { background: #2b3b52; border-color: #3f6ea8; color: #e7f0ff; }
  .cc-open { background: #2a2b2f; border-color: #3a3b41; color: #ddd; }
}
