:root{--surface:#ffffff;--surface-muted:#f1f5f9;--surface-elevated:#ffffff;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--primary:#0d9488;--primary-dark:#0f766e;--accent:#14b8a6;--shadow-soft:0 4px 24px rgba(15,23,42,0.07);--gradient:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);--ccg-radius:16px;--ccg-radius-sm:12px;--ccg-pad:clamp(12px,3vw,20px);--ccg-cell-min:76px;--ccg-accent:#0d9488;--ccg-accent-dim:rgba(13,148,136,0.14);--ccg-accent-glow:rgba(13,148,136,0.22);--ccg-ink:#0f172a;--ccg-line:#e2e8f0;--ccg-grid-gap:6px;--ccg-cell-radius:12px;--ccg-surface:#ffffff;--ccg-surface-2:#f8fafc;--ccg-shadow:0 4px 24px rgba(15,23,42,0.07);--ccg-fb:#1877f2;--ccg-ig:#e4405f;--ccg-tw:#1d9bf0;--ccg-li:#0a66c2;--ccg-yt:#ff0000;--ccg-tt:#0a0a0a;}
.ccg-workspace{margin-bottom:clamp(2rem,5vw,3.5rem);}
.ccg-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.ccg-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;background:var(--ccg-accent-dim);color:var(--ccg-accent);border:1px solid var(--ccg-accent-glow);}
.ccg-layout{display:flex;flex-direction:column;gap:clamp(16px,4vw,24px);}
@media (min-width:900px){.ccg-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);grid-template-rows:auto 1fr;align-items:start;gap:24px;}}
.ccg-calendar-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--ccg-radius);box-shadow:var(--shadow-soft);overflow:hidden;}
.ccg-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:var(--ccg-pad);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3;background:rgba(255,255,255,0.82);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);}
.ccg-nav-cluster{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ccg-month-label{font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:800;margin:0;letter-spacing:-0.03em;color:var(--text-main);}
.ccg-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--ccg-radius-sm);border:1px solid var(--border);background:var(--surface-muted);color:var(--text-main);cursor:pointer;transition:background 0.18s,border-color 0.18s,box-shadow 0.18s,transform 0.12s;font-size:1.15rem;line-height:1;}
.ccg-icon-btn:hover,.ccg-icon-btn:focus-visible{background:var(--ccg-accent-dim);border-color:var(--ccg-accent-glow);box-shadow:0 2px 8px rgba(13,148,136,0.12);outline:none;}
.ccg-icon-btn:active{transform:scale(0.96);}
.ccg-ghost-btn{padding:10px 16px;border-radius:var(--ccg-radius-sm);border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:700;color:var(--text-main);cursor:pointer;transition:border-color 0.18s,color 0.18s,background 0.18s;}
.ccg-ghost-btn:hover,.ccg-ghost-btn:focus-visible{border-color:var(--ccg-accent);color:var(--ccg-accent);background:var(--ccg-accent-dim);outline:none;}
.ccg-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--ccg-grid-gap);padding:10px var(--ccg-pad) 4px;}
.ccg-dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:8px 4px;color:var(--text-muted);background:transparent;border-radius:8px;}
.ccg-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--ccg-grid-gap);padding:4px var(--ccg-pad) var(--ccg-pad);background:linear-gradient(180deg,var(--surface-muted) 0%,var(--surface) 28%);}
.ccg-cell{min-height:var(--ccg-cell-min);background:var(--surface);padding:8px 6px 10px;display:flex;flex-direction:column;gap:5px;cursor:pointer;transition:background 0.18s,border-color 0.18s,box-shadow 0.2s,transform 0.18s;position:relative;border:1px solid var(--border);border-radius:var(--ccg-cell-radius);box-shadow:0 1px 2px rgba(15,23,42,0.04);text-align:left;font:inherit;}
@media (min-width:600px){.ccg-cell{min-height:100px;padding:10px 8px 12px;}}
.ccg-cell:hover,.ccg-cell:focus-visible{background:var(--surface);border-color:var(--ccg-accent-glow);box-shadow:0 8px 24px rgba(15,23,42,0.08);transform:translateY(-2px);outline:none;z-index:1;}
.ccg-cell:active{transform:translateY(0);box-shadow:0 2px 8px rgba(15,23,42,0.06);}
.ccg-cell.ccg-is-muted{background:var(--surface-muted);opacity:0.55;border-color:transparent;box-shadow:none;}
.ccg-cell.ccg-is-muted:hover{opacity:0.75;border-color:var(--border);}
.ccg-cell.ccg-is-today{border-color:var(--ccg-accent);box-shadow:0 0 0 1px var(--ccg-accent),0 4px 16px rgba(13,148,136,0.15);}
.ccg-cell.ccg-is-picked{background:linear-gradient(165deg,rgba(13,148,136,0.12) 0%,rgba(13,148,136,0.03) 100%);border-color:rgba(13,148,136,0.35);}
.ccg-cell.ccg-is-today.ccg-is-picked{box-shadow:0 0 0 2px var(--ccg-accent),0 6px 20px rgba(13,148,136,0.18);}
.ccg-day-num{font-size:13px;font-weight:800;color:var(--text-main);align-self:flex-start;min-width:1.75rem;line-height:1;}
.ccg-cell.ccg-is-today .ccg-day-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--gradient);color:#fff;font-size:12px;box-shadow:0 2px 8px rgba(13,148,136,0.35);}
.ccg-cell.ccg-is-muted .ccg-day-num{color:var(--text-muted);font-weight:700;}
.ccg-cell.ccg-is-muted.ccg-is-today .ccg-day-num{background:var(--text-muted);box-shadow:none;}
.ccg-slot-list{display:flex;flex-direction:column;gap:4px;min-height:0;flex:1;overflow:hidden;margin-top:2px;}
.ccg-slot{font-size:10px;line-height:1.3;padding:4px 7px;border-radius:8px;color:#fff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 2px rgba(0,0,0,0.08);}
@media (min-width:600px){.ccg-slot{font-size:11px;padding:5px 8px;border-radius:9px;}}
.ccg-slot.ccg-plat-facebook{background:linear-gradient(135deg,#3b82f6,#1877f2);}
.ccg-slot.ccg-plat-instagram{background:linear-gradient(135deg,#f472b6,#e4405f);}
.ccg-slot.ccg-plat-twitter{background:linear-gradient(135deg,#38bdf8,#1d9bf0);}
.ccg-slot.ccg-plat-linkedin{background:linear-gradient(135deg,#0ea5e9,#0a66c2);}
.ccg-slot.ccg-plat-youtube{background:linear-gradient(135deg,#f87171,#dc2626);}
.ccg-slot.ccg-plat-tiktok{background:linear-gradient(135deg,#525252,#0a0a0a);}
.ccg-rail{background:var(--surface);border:1px solid var(--border);border-radius:var(--ccg-radius);box-shadow:var(--shadow-soft);padding:var(--ccg-pad);display:flex;flex-direction:column;gap:16px;}
@media (min-width:900px){.ccg-rail{position:sticky;top:88px;}}
.ccg-rail-head{display:flex;flex-direction:column;gap:4px;}
.ccg-rail-head h2{font-size:1.05rem;font-weight:800;margin:0;color:var(--text-main);letter-spacing:-0.02em;}
.ccg-rail-head p{font-size:13px;color:var(--text-muted);margin:0;line-height:1.45;}
.ccg-field{display:flex;flex-direction:column;gap:6px;}
.ccg-field label{font-size:12px;font-weight:700;color:var(--text-main);letter-spacing:0.02em;}
.ccg-field input,.ccg-field select,.ccg-field textarea{width:100%;border:1px solid var(--border);border-radius:var(--ccg-radius-sm);padding:11px 14px;font-size:15px;background:var(--surface);color:var(--text-main);-webkit-appearance:none;appearance:none;transition:border-color 0.18s,box-shadow 0.18s;}
.ccg-field textarea{min-height:88px;resize:vertical;}
.ccg-field input:focus,.ccg-field select:focus,.ccg-field textarea:focus{border-color:var(--ccg-accent);outline:none;box-shadow:0 0 0 3px var(--ccg-accent-dim);}
.ccg-primary{width:100%;padding:13px 16px;border:none;border-radius:var(--ccg-radius-sm);background:var(--gradient);color:#fff;font-size:15px;font-weight:800;cursor:pointer;transition:box-shadow 0.2s,transform 0.12s,filter 0.15s;box-shadow:0 4px 14px rgba(13,148,136,0.35);}
.ccg-primary:hover,.ccg-primary:focus-visible{filter:brightness(1.05);box-shadow:0 6px 20px rgba(13,148,136,0.4);outline:none;}
.ccg-primary:active{transform:scale(0.99);}
.ccg-primary.ccg-flash-success{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 14px rgba(5,150,105,0.35);}
.ccg-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.ccg-chip{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);font-size:12px;font-weight:700;color:var(--text-main);cursor:pointer;transition:border-color 0.18s,color 0.18s,background 0.18s,transform 0.1s;}
.ccg-chip:hover,.ccg-chip:focus-visible{border-color:var(--ccg-accent);color:var(--ccg-accent);background:var(--ccg-accent-dim);outline:none;}
.ccg-chip:active{transform:scale(0.98);}
.ccg-hint{font-size:12px;color:var(--text-muted);margin:0;line-height:1.45;}
.ccg-hint a{color:var(--ccg-accent);font-weight:700;text-decoration:none;border-bottom:1px solid var(--ccg-accent-glow);}
.ccg-hint a:hover{border-bottom-color:var(--ccg-accent);}
.ccg-storage-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:14px;margin-top:4px;border-top:1px solid var(--border);}
.ccg-storage-status{flex:1;min-width:min(100%,200px);margin:0;}
.ccg-storage-clear{padding:8px 12px;border-radius:var(--ccg-radius-sm);border:1px solid var(--border);background:var(--surface-muted);font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;transition:border-color 0.18s,color 0.18s,background 0.18s;white-space:nowrap;}
.ccg-storage-clear:hover,.ccg-storage-clear:focus-visible{border-color:#f87171;color:#b91c1c;background:#fef2f2;outline:none;}
.ccg-prose{margin-top:clamp(2.5rem,6vw,4rem);}
.ccg-prose-block{margin-bottom:clamp(1.75rem,4vw,2.5rem);}
.ccg-prose-block h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:800;margin:0 0 12px;color:var(--text-main);letter-spacing:-0.02em;}
.ccg-prose-block p,.ccg-prose-block li{font-size:15px;line-height:1.65;color:var(--text-muted);margin:0 0 12px;}
.ccg-prose-block p:last-child{margin-bottom:0;}
.ccg-callout{border-left:4px solid var(--ccg-accent);padding:14px 16px;background:var(--surface-muted);border-radius:0 var(--ccg-radius-sm) var(--ccg-radius-sm) 0;margin:20px 0;}
.ccg-callout p{font-size:14px;margin:0;color:var(--text-main);}
.ccg-dl{display:grid;gap:12px 24px;}
@media (min-width:640px){.ccg-dl{grid-template-columns:140px 1fr;}}
.ccg-dl dt{font-size:13px;font-weight:800;color:var(--text-main);margin:0;}
.ccg-dl dd{font-size:14px;color:var(--text-muted);margin:0;line-height:1.55;}
.ccg-list-plain{list-style:none;padding:0;margin:0;}
.ccg-list-plain li{position:relative;padding-left:1.1rem;margin-bottom:10px;font-size:15px;line-height:1.55;color:var(--text-muted);}
.ccg-list-plain li::before{content:"";position:absolute;left:0;top:0.55em;width:6px;height:6px;border-radius:50%;background:var(--ccg-accent);}
.ccg-muted-note{font-size:13px;color:var(--text-muted);margin-top:8px;}
