.c-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-md)}
.c-card h3{font-size:var(--text-lg);font-weight:600;margin-bottom:0.1rem}
.c-card p{font-size:var(--text-md);color:var(--text-muted);line-height:1.4}
.c-statbox{padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex:1;min-width:80px;text-align:center}
.c-statbox-value{font-size:var(--text-3xl);font-weight:700}
.c-statbox-label{font-size:var(--text-xs);color:var(--text-light);text-transform:uppercase}
.c-label{display:inline-block;font-size:var(--text-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-full);background:var(--bg-badge);color:var(--text-muted);text-transform:uppercase;font-weight:500;white-space:nowrap}
.c-tag{display:inline-block;font-size:var(--text-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:500;margin-right:0.15rem}
.c-tag.open,.c-tag.pending{background:var(--tag-open-bg);color:var(--tag-open)}
.c-tag.closed,.c-tag.done,.c-tag.achieved{background:var(--tag-closed-bg);color:var(--tag-closed)}
.c-tag.active,.c-tag.in_progress{background:var(--tag-active-bg);color:var(--tag-active)}
.c-tag.at_risk{background:var(--tag-at_risk-bg);color:var(--tag-at_risk)}
.c-tag.missed{background:var(--tag-missed-bg);color:var(--tag-missed)}
.c-progress{height:3px;background:var(--border-color);border-radius:2px;margin-top:var(--space-xs);overflow:hidden}
.c-progress-fill{height:3px;border-radius:2px}
.c-progress-fill.good{background:var(--color-success)}
.c-progress-fill.warn{background:var(--color-warning)}
.c-progress-fill.bad{background:var(--color-danger)}
.c-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:opacity 0.15s}
.c-btn.primary{background:var(--text-primary);color:var(--text-white)}
.c-btn.primary:hover{opacity:0.85}
.c-btn.outline{border:1px solid var(--border-color);color:var(--text-muted);background:transparent}
.c-btn.outline:hover{background:var(--bg-hover)}
.c-btn.ghost{border:none;color:var(--text-light);background:none;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-sm)}
.c-btn.ghost:hover{color:var(--text-primary);background:var(--bg-hover)}
.c-btn.danger{border:none;color:var(--color-danger);background:none;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-sm)}
.c-btn.danger:hover{background:var(--color-danger-bg)}
.c-btn.icon{border:none;background:none;color:var(--text-light);cursor:pointer;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-md)}
.c-btn.icon:hover{color:var(--text-primary)}
.c-input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-md);font-family:inherit;outline:none}
.c-input:focus{border-color:var(--border-focus)}
.c-input.block{width:100%}
.c-input.short{max-width:220px}
.c-select{padding:var(--space-sm) var(--space-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-md);font-family:inherit;background:var(--bg-card);cursor:pointer}
.c-textarea{width:100%;padding:var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-md);font-family:inherit;resize:vertical;min-height:50px;outline:none}
.c-textarea:focus{border-color:var(--border-focus)}
.c-modal-overlay{display:none;position:fixed;inset:0;background:var(--bg-modal-overlay);z-index:1000;align-items:center;justify-content:center;padding:var(--space-xl)}
.c-modal-overlay.open{display:flex}
.c-modal-panel{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:460px;width:100%;max-height:80vh;overflow-y:auto}
.c-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}
.c-modal-header h3{font-size:var(--text-xl);font-weight:600}
.c-modal-close{font-size:var(--text-3xl);cursor:pointer;color:var(--text-light);background:none;border:none}
.c-modal-close:hover{color:var(--text-primary)}
.c-modal-body{display:flex;flex-direction:column;gap:var(--space-md)}
.c-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-color)}
.c-field{margin-bottom:var(--space-sm)}
.c-field label{font-size:var(--text-sm);font-weight:600;color:var(--text-muted);display:block;margin-bottom:var(--space-2xs)}
.c-empty{text-align:center;padding:var(--space-3xl) var(--space-xl);max-width:360px;margin:0 auto}
.c-empty-icon{font-size:2rem;margin-bottom:var(--space-sm);opacity:0.3}
.c-empty h3{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-xs)}
.c-empty p{font-size:var(--text-base);color:var(--text-muted);margin-bottom:var(--space-lg)}
.c-guide{font-size:var(--text-md);color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg);background:var(--bg-page);border-radius:var(--radius-lg)}
.c-toast{display:none;position:fixed;bottom:var(--space-3xl);right:var(--space-3xl);padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-lg);font-size:var(--text-lg);z-index:1001;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.c-toast.show{display:block}
.c-toast.success{background:var(--color-success);color:var(--text-white)}
.c-toast.error{background:var(--color-danger);color:var(--text-white)}
