.progress-ring{position:relative;flex-shrink:0}.progress-ring svg{display:block}.progress-ring__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary,#667eea),var(--color-accent,#764ba2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.deadline-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border:1px solid var(--color-border,#e2e8f0);border-radius:10px;background:var(--color-card-bg,#fff);transition:border-color .15s,background .15s}.deadline-item:hover{border-color:var(--color-border);background:var(--color-background,#f5f7fa)}.deadline-item__date{width:44px;height:44px;border-radius:10px;background:var(--color-primary-soft,rgba(102,126,234,.12));display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--color-primary,#667eea);line-height:1.1}.deadline-item__date span{font-size:10px;font-weight:500;opacity:.8}.deadline-item__body{flex:1 1;min-width:0}.deadline-item__title{font-weight:600;font-size:.88rem;color:var(--color-text,#1a202c)}.deadline-item__course{font-size:.78rem;color:var(--color-text-secondary,#718096)}.deadline-item__badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;flex-shrink:0}.deadline-item__badge--soon{background:rgba(240,173,78,.15);color:var(--color-warning,#f0ad4e)}.deadline-item__badge--today{background:rgba(220,53,69,.12);color:var(--color-danger,#dc3545)}.deadline-item__badge--later{background:rgba(22,163,74,.12);color:var(--color-success,#16a34a)}