.db-section{gap:var(--cf-space-3);flex-direction:column;display:flex}.db-stats{gap:var(--cf-space-3);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.db-stats{grid-template-columns:repeat(4,1fr)}}.db-stat{gap:var(--cf-space-1);padding:var(--cf-space-4);flex-direction:column;display:flex}.db-stat-value{color:var(--cf-ink);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.1}.db-stat-label{color:var(--cf-ink-muted);font-size:.8125rem;font-weight:600}.db-stat-danger{border-color:var(--cf-danger);background:var(--cf-danger-soft)}.db-stat-danger .db-stat-value{color:var(--cf-danger-strong)}.db-empty-link{align-self:flex-start}.db-list{gap:var(--cf-space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.db-item{justify-content:space-between;align-items:flex-start;gap:var(--cf-space-3);min-height:4.5rem;color:inherit;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:flex}.db-item:hover{border-color:var(--cf-primary-border);box-shadow:var(--cf-shadow-sm)}.db-item:active{transform:translateY(1px)}.db-item:focus-visible{outline:2px solid var(--cf-focus);outline-offset:2px}.db-item-overdue{border-color:var(--cf-semantic-danger-border);background:var(--cf-semantic-danger-bg)}.db-item-done{border-color:var(--cf-success);background:var(--cf-success-soft)}.db-item-done .db-item-when{color:var(--cf-success)}.db-item-main{flex-direction:column;gap:.125rem;min-width:0;display:flex}.db-item-title{color:var(--cf-ink);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:700}.db-item-sub{color:var(--cf-ink-muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.8125rem}.db-item-side{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.125rem;display:flex}.db-item-when{color:var(--cf-ink-body);font-size:.875rem;font-weight:700}.db-item-overdue .db-item-when{color:var(--cf-danger-strong)}.db-item-date{color:var(--cf-ink-muted);font-size:.8125rem}.db-item-overdue .db-item-sub,.db-item-overdue .db-item-date,.db-item-done .db-item-sub,.db-item-done .db-item-date{color:var(--cf-ink-body)}.db-assignment-item{justify-content:space-between;align-items:flex-start;gap:var(--cf-space-3);border-color:var(--cf-primary-border);min-height:4.5rem;display:flex}.db-assignment-link{min-width:0;color:inherit;flex-direction:column;gap:.125rem;text-decoration:none;display:flex}.db-assignment-link:hover .db-item-title{text-decoration:underline}.db-assignment-link:focus-visible{outline:2px solid var(--cf-focus);outline-offset:2px;border-radius:var(--cf-radius-s)}.db-assignment-actions{flex-shrink:0}@media (max-width:639px){.db-item,.db-assignment-item{flex-wrap:wrap}.db-item-side{text-align:left;align-items:flex-start}}.db-warning{gap:var(--cf-space-2);padding:var(--cf-space-3) var(--cf-space-4);border-radius:var(--cf-radius-m);background:#fff4ce;border:1px solid #f2c661;flex-direction:column;display:flex}.db-warning-title{color:#8a5600;margin:0;font-weight:700}.db-warning-body{color:var(--cf-ink-body);margin:0;font-size:.9375rem}.db-warning-list{gap:var(--cf-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.db-warning-link{min-height:var(--cf-touch);border-radius:var(--cf-radius-s);color:#8a5600;text-underline-offset:.2em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.db-warning-link:hover{color:#6b4200}.db-warning-link:focus-visible{outline:2px solid var(--cf-focus);outline-offset:2px}.db-warning-more{color:var(--cf-ink-muted);font-size:.8125rem}.db-skeleton{border-radius:var(--cf-radius-l);background:var(--cf-muted-soft);height:4.5rem;animation:1.6s ease-in-out infinite db-pulse}@keyframes db-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.db-skeleton{animation:none}}.db-assignment-new{border-left:3px solid var(--cf-primary)}.db-assignment-new-chip{margin-right:var(--cf-space-2);border-radius:var(--cf-radius-s);background:var(--cf-primary);color:#fff;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle;padding:0 .4rem;font-size:.6875rem;font-weight:700;line-height:1.4;display:inline-block}
