.drives { display: flex; flex-direction: column; gap: 20px; }
.drive { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--bg-elevated); }
.drive-header { display: flex; align-items: baseline; gap: 12px; }
.drive-header h3 { margin: 0; font-size: 17px; }
.drive-desc { color: var(--text-muted); font-size: 14px; margin: 8px 0; }
.drive-stops { padding-left: 24px; margin: 12px 0 0 0; }
.drive-stops li { margin-bottom: 10px; }
.stop-name { font-weight: 600; }
.stop-desc { font-size: 13px; color: var(--text-muted); }

.templates { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.template {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.template h3 { margin: 0; font-size: 16px; }
.template-desc { font-size: 13px; color: var(--text-muted); margin: 0; }
.template-slots { display: flex; flex-wrap: wrap; gap: 4px; }
.template-slots .slot-key {
    font-size: 9px;
    text-transform: uppercase;
    color: var(--accent);
    margin-right: 4px;
    font-weight: 700;
}
.template-actions { display: flex; gap: 6px; margin-top: auto; }
.template-day-picker { flex: 1; min-width: 0; padding: 6px 8px; font-size: 13px; }
